我建了个Ad0.Net Entity Framework   信息如图片所示:
我表里只有一个逐渐Id,但是在这里怎么这么多个字段都变成尸体键了?如何去掉这些实体键啊?
如何解决下面这个问题啊。错误 3 错误 3003: 从第 2559 行开始的映射片段出现问题: EntitySet CellTrail 的所有键属性(CellTrail.Id)必须映射到表 CellTrail 的所有键属性(CellTrail.ClientId, CellTrail.CreateEm, CellTrail.CreateTime, CellTrail.Id, CellTrail.IsAssign, CellTrail.IsFinish, CellTrail.Profile)。
G:\CRM\CRMModels\CRMModel.edmx 2560 15 CRMModels

解决方案 »

  1.   

    Entity Framework 在映射表、视图时:
    如果表有主键,那么,EF会以主键字段生成实体键。
    如果表没有主键,则以所有非空字段(NOT NULL)生成实体键。
    如果这个表也没有非空字段!那么,EF不会生成这个表的实体类,因为EF无法识别这个表的实体。综上所述,我们再来分析一下视图,视图是没有主键的,所以,EF将根据视图中的所有非空字段(NOT NULL)来生成实体键。而视图的非空字段是来自于基表。那么,我们只要将基表中的非空字段改成可空的,就可以了。但是,至少,我们至少要留一个非空字段,否则,EF不会成生这个视图的实体类。目前,我实验证实的,就仅限于此了。各位,如果有其他更好的解决办法,请留言告诉我,偷偷告诉我也行,非常感谢。