EF映射没有外键怎么办

原创 2016年08月30日 21:05:11

      在一些数据库的设计是没有外键的,为了减少测试的成本,我们就把外键给去掉了,而在程序里加上外键的约束。

    最近在做ITOO,发现最新版本的数据库里少缺少了一个外键,而且更新到程序里的EF实体模型也就和原先的不搭。程序自然就生成失败了。但是问题需要解决啊,所以就去看了看EF映射的实体文件,发现了可以做文章的地方。

解决方案

    1、在EF映射的实体文件中,先找到缺少外键的那个实体类文件。比如我要找的类文件是basicstudententities.cs


    2、打开找到的实体类文件,在里面添加属性。比如:我缺少的是 basicclassentities的外键,就添加红圈中的代码。注意如果关系是1:1就是实体类型,如果是1:N的关系,就是ICollection对象集合的类型了。



    3、找到后缀为diagram的文件,根据自己需求填入相应的字符串。比如我添的是红圈的那一行。



    最后重新生成解决方案,生成成功。可是新的问题又来了。

     只要涉及到EF映射的lambda表达式时,就报错: 无法加载 源数据资源。

    我一看就头疼了,知道这是改了EF实体模型的原因。我愁啊。可是该解决还得解决啊。

问题出现原因:由于自己添加EF实体的输入的名称是Model。所以有了以下区别

区别:在配置文件里的三个路径: Model.csdl,Model.ssdl  以及Model.msl 和最开始的BasicModel.csdl,BasicModel.ssdl  以及BasicModel.msl 不一样,于是修正,重新生成,看能不能成功。如果不成功的话往下看。

原始配置文件的内容


    最后一步,把之前的EF实体模型删了,重新建立,输入好正确的名字。包括name 和三个路径。填入正确。把外键也加上了,最后重新生成,运行程序就没事了。










版权声明:本文为博主原创文章,未经博主允许不得转载。

EntityFramework ef框架外键导致错误!

1.在外键的位置加上 [ForeignKey(“B”)] [ForeignKey("B")] public int Aid { get { return _Ai...

EF CodeFirst 外键关联和独立关联

 实体框架关系与导航属性 http://msdn.microsoft.com/zh-cn/data/jj713564
  • X_Craft
  • X_Craft
  • 2014年10月16日 23:23
  • 3666

EF无法映射只包含联合主键字段的表

数据库中的表关系: 映射到EF中: 咦!不对呀!怎么就两张表呀? 对,做项目的时候,我也遇到了这样的情况,不管怎么更新,EF都是这样! 百思不得其解,问问度娘吧! 度娘说: ...

Entity Framework(EF)无法对没有主键的视图映射实体

Entity Framework(EF)无法对没有主键的视图映射实体 在使用 Entity Framework 的时候经常会把数据库中的某一个视图映射为EF的实体,但是如果数据库视图中的列没有包含...

EF之Code First设置主外键关系(一)

指定类外键有注释(DataAnnotation)和FluentAPI两种方式,下面我们主要使用DataAnnotation指定外键关系 第一种方式//1-指定导航属性,会自动生成外键,命名规则为:“...

结合EF5.0讲MVC4(二)--为先前程序添加查询及主外键关系

本节导航 1、补充 2、添加对电影的查询 3、添加导演表、创建导演表和电影表的主外键关系 4、Model属性应用 5、持久对象的生命周期   进入目录   下载源码   下载视频 ...

EF Code First 导航属性 与外键

EF Code First 导航属性 与外键 一对多关系 项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Cod...
  • whj1993
  • whj1993
  • 2017年03月27日 14:07
  • 137

EF Code First 导航属性 与外键 学习笔记

一对多关系 项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性、导航属性等检测到模型之间...
  • KZWRCOM
  • KZWRCOM
  • 2015年11月17日 11:33
  • 3876

EF之Code First设置主外键关系(二)

1、前言上篇博文说了设置外键名称的问题,这篇博文我们来说说外键应该在那个实体类中定义的问题。2、实战示例现在有三个实体类,TUsers(用户类)、TRoles(角色)类,TUsersRoles(用户角...

Hibernate基于外键一对一映射操作实例

实例背景:公民和公民的身份证,是一个一对一的例子,一个公民只有一个身份证。以这个背景开展说明!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EF映射没有外键怎么办
举报原因:
原因补充:

(最多只允许输入30个字)