没有返回记录时的实体框架错误

时间:2015-03-20 18:53:22

标签: c# sql-server entity-framework

.Net Framework 4 | SQL Server 2008 |实体框架6

我正在调用一个函数import,它调用存储过程并创建一个复杂的对象。在某些情况下,结果是0记录。看来如果你有这种情况,复杂对象中的所有列都必须设置为允许空值。我不想这样做,因为如果有记录,则非列的列将为空。这导致我必须检查所有这些字段的空值,而不是只检查返回的列表是否有任何行。

我做错了什么,或者只是EF的设置方式?

更新:

我不确定你想要什么代码。它是一个简单的SELECT语句。存储过程调用是通过常规的Function Import。以下是我如何称呼它:

// Get the district entity
List<SchoolCollectionSummary_Result>  summaries =
    context.GetSchoolCollectionSummary(
    schoolYear.SchoolYearId, districtOrganizationId,
schoolOrganizationId).ToList();

SchoolCollectionSummary_Result是基于存储过程的复杂类型(实体)。

一旦我枚举它,就会发生错误:

{"The 'SchoolCollectionId' property on 'SchoolCollectionSummary_Result' could not be set to a 'null' value. You must set this property to a non-null value of type 'System.Int32'. "}

我设置所有字段&#34;允许null = false&#34;因为数据库字段设置为NOT NULL。

感谢。

更新

感谢您要求SQL。在浏览过程中,我发现左边有一个LEFT JOIN导致了我的问题...

0 个答案:

没有答案