EF从数据库生成模型,视图生成失败问题及解决方案
1、由于视图是一张虚拟表,没有定义主键,但在EF进入导入的时候需要实体有主键。这就产生了不一致现象。EF有能力能够从视图相关的表的非空字段推断其为视图主键。但如果遇到视图中相关的表字段都是可空的情况怎么办呢?
解决方案: a)使用row_number函数生成一列。
b)对表字段使用isnull函数指定默认值,则EF也认为其为视图主键的一部分。与此对应于的是如果不想将一个非空字段转换为视图实体主键,则可以使用nullif函数。
具体可参见:http://stackoverflow.com/questions/1013333/entity-framework-and-sql-server-view
本文出自 “ForMeForYou” 博客,请务必保留此出处http://tancfeng.blog.51cto.com/4079342/1718151
标签:entityframework view database-first
原文地址:http://tancfeng.blog.51cto.com/4079342/1718151