相关疑难解决方法(0)

当标识列不唯一时,实体框架会错误地映射数据

没有进入"为什么",只需了解继承和我必须使用的:)

我有一个映射到视图的EF6 edmx.其上没有标识列,因此为了使EF映射实体,选择第一个非空列作为PK.这背后的原始想法是只读它不会更新或删除.没有过滤(ODATA位于此之上),唯一 - 我的意思是 - 只使用这种方式select top N *来自实体.

视图中有4条记录.

TypeCode | Contact | UserID | LocaleID | EntityName
---------------------------------------------------------
1          6623      1032     9          Jane
1          6623      1032     9          Jane
1          6623      1032     9          John
1          6623      1032     9          John
Run Code Online (Sandbox Code Playgroud)

我看到的问题是EF将所有4行映射相同.以上所有"约翰"的名字都变成了"简"

好吧,抛开设计决策,并且视图上没有识别记录,为什么EF映射最后两行错误?我最初的想法是,因为"PK"设置为TypeCode它不知道如何做到这一点.但是,为什么只在从数据库中读取结果时才使用键列?我原本以为它只对更新和删除很重要

c# entity-framework

2
推荐指数
1
解决办法
1436
查看次数

标签 统计

c# ×1

entity-framework ×1