sqlserver 视图 EF无法从数据更新模型
2023-09-11 14:21:28 时间
1、由于视图是一张虚拟表,没有定义主键,但在EF进入导入的时候需要实体有主键。这就产生了不一致现象。EF有能力能够从视图相关的表的非空字段推断其为视图主键。但如果遇到视图中相关的表字段都是可空的情况怎么办呢?
解决方案:检查视图中引用的某张表的主键或外键是否设置错误!本来是不能为空的字段,设置成了可为空!
例如: 河流水库表 主键WaterID 不为空, 但在 点位位置表引用外键WaterID是却设置为可空!
转载于:https://blog.csdn.net/weixin_34250709/article/details/93066147
方案:
a)使用row_number函数生成一列。
b)对表字段使用isnull函数指定默认值,则EF也认为其为视图主键的一部分。与此对应于的是如果不想将一个非空字段转换为视图实体主键,则可以使用nullif函数。
具体可参见:http://stackoverflow.com/questions/1013333/entity-framework-and-sql-server-view
相关文章
- sqlserver,获取调用存储过程返回数据的方法。
- 检测SqlServer数据库是否能连接的小技巧
- C# 批量插入数据到SqlServer中的四种方式
- 用Jersey构建RESTful服务8--Jersey+SQLServer+Hibernate4.3+Spring3.2+jquery
- SQLServer · 最佳实践 · 透明数据加密在SQLServer的应用
- SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式
- C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)
- SQLSERVER存储过程语法详解
- 成功解决启动SQLServer失败,根据错误信息判断错误故障
- sqlserver - 判断字段是否是纯数字
- SQLServer len 函数, 查字符串长度函数
- SQLServer 中多行数据合并成一行数据(一个字段)
- 实战:sqlserver 数据实时同步到mysql
- SQLServer分页查询存储过程
- SQLServer表变量与临时表
- 解决navicat无法连接sqlserver数据库的问题
- Python爬虫实战(三):定时爬取数据存入SqlServer