.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导致了我的问题...