Learn Entity Framework Core: https://www.learnentityframeworkcore.com/
Entity Framework Core Tutorial: https://entityframeworkcore.com/
Entity Framework 6 Tutorial: https://entityframework.net/
Info
Version: | 1.0.3 |
Author(s): | Evgeny Zelenov |
Last Update: | Tuesday, April 19, 2016 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://github.com/Zelenov/EntityFix |
NuGet Url: | https://www.nuget.org/packages/EntityFix |
Install
Install-Package EntityFix
dotnet add package EntityFix
paket add EntityFix
EntityFix Download (Unzip the "nupkg" after downloading)
Dependencies
- EntityFramework(>= 1.0.0)
Tags
This package fixes this annoying behavior of EF by returning empty data set and letting you read output parameters.
Example:
Consider you have this sql procedure:
CREATE PROCEDURE [dbo].[Foo]
@Condition int = NULL,
@ResultCode Int = NULL OUTPUT
AS
BEGIN
IF @Condition IS NULL BEGIN
SET @ResultCode = 1; -- return 1 if condition = null
RETURN;
END
SELECT 1 as 'One', 2 as 'Two'; -- select otherwise
SET @ResultCode = 0;
END
Calling this procedure in EF:
var resultCodeParameter = new ObjectParameter("ResultCode", typeof(int));
var result = db.Foo(null, resultCodeParameter).FirstOrDefault();
var resultCode = resultCodeParameter.Value;
will throw an exception:
System.Data.Entity.Core.EntityCommandExecutionException: The data reader is incompatible with the specified 'xxx.Foo_Result'. A member of the type, 'One', does not have a corresponding column in the data reader with the same name.
Calling EntityFix.Load() once on your application start will fix this bug.