【发布时间】:2011-03-04 19:10:38
【问题描述】:
首先我有两张桌子,PersonNames 和 PersonNameVariations。搜索名称时,它会找到与 PersonNames 中可用名称之一最接近的名称,并在 PersonNameVariations 表中不存在时将其记录。
我正在使用存储过程在 PersonNames 中搜索传入的 PersonNameVariation,并返回找到的 PersonName 和与之比较的 PersonNameVariation 的信息。
由于我使用的是实体框架,我需要在 Import Function 中返回一个复杂类型,但由于某种原因它说我当前的框架不支持它。我的最后一个选择是使用Entity 来返回我的存储过程。
我需要返回的结果是找到的PersonName 和记录的PersonNameVariation 的信息。由于我无法返回两个实体,因此我创建了一个视图 PersonSearchVariationInfo 并将其添加到我的实体框架中,以便将其用作要返回的实体。
问题在于搜索不会总是返回Person Name 匹配。在某些情况下,它需要能够只返回PersonNameVariation 数据,这意味着PersonSearchVariationInfo 中与PersonName 相关的所有字段需要可以为空。
我怎样才能接受我的观点并使某些字段可以为空?当我直接在实体框架中执行此操作时,出现映射错误:
错误 4 错误 3031:从第 1202 行开始映射片段时出现问题:表 myproject_vw_PersonSearchVariationInfo 中的不可为空列 myproject_vw_PersonSearchVariationInfo.DateAdded 映射到可空实体属性。 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProject\MyProject.Domain\EntityFramework\MyProjectDBEntities.edmx 1203 15 MyProject.Domain
有人有什么想法吗?
谢谢,
马特
【问题讨论】:
-
嗯。 gbn 几天前给了你一个很棒的答案。它对你有用吗?如果没有,为什么不呢?如果是,请接受他的回答。
-
我必须检查我做了什么。我弄清楚后忘记更新这个问题了。他的回答没有直接解决我的情况,但我可能不清楚我需要什么。有机会我会写一些东西并尝试澄清我需要什么。
标签: sql sql-server entity-framework view mapping