EF 外键问题】的更多相关文章

一.问题描述:EF 外键不显示.如何让外键显示!增.删.改 操作时,外键不显示,只显示导航属性! EF 添加.增加.插入数据时,外键不显示! 二.解决方案:在根据数据库生成模型的时候,选中“在模型中”包括外键列! 情况1:如果你的模型和数据库完全一致,即你没有在模型中添加.修改.删除 数据库没有的属性.键.导航属性等: 那么你可以把模型里的表和视图都删了,再从数据库更新模型,选中你所有需要的表和视图. 情况2:如果你的模型和数据库不一致,即你在模型中有 添加.修改.删除数据库没有的属性.键.导航…
客户里面存在客服外键 基类模型 public class ModelBase { public ModelBase() { CreateTime = DateTime.Now; } [Key] public virtual int ID { get; set; } public virtual DateTime CreateTime { get; set; } } 客服模型 [Table("CustomerServer")] public partial class CustomerS…
在做一个评论功能的时候,发现用户的id不对,打开数据库一看,莫名其妙的新增了几个用户.明显是将外键中的用户新增到用户表中了. 评论表: public class CourseComment : BaseModel { public string Content { get; set; } [ForeignKey("UserId")] public virtual User FormUser { get; set; } public virtual int UserId { get; s…
using (DataContext dbcontext=new DataContext ()) { //emp.department.ID = dep.ID; //emp.department = dep; /*foreach (var item in dep.employees) { item.department.ID = dep.ID; dbcontext.employees.Add(item); dbcontext.SaveChanges(); }*/ int did = dep.ID…
这是一位朋友提出的疑问,EF 映射主键可以对应多个外键吗?如果外键设置级联删除会发生什么情况?下面做一个测试,示例实体代码: public class Blog { public Blog() { Post1s = new List<Post1>(); Post2s = new List<Post2>(); } public int Id { get; set; } public string Title { get; set; } public string Url { get;…
现在很多ORM不自带外键关联的实体查询,比如我查询用户,用时将关联的角色信息查询出来,那么就要进行2次查询,很麻烦.而我现在要做的就是基于EF的外键关联查询.很方便的. 首先,创建基础查询的BaseService public class BaseService<T> where T : BaseEntity { public virtual int Create(T item) { using (var db = new DatabaseContext()) { db.Set<T>…
EF中主表和附表一起提交的话,如果主附表的主键外键已经设定,如果新增同时新增主表和附表的记录,那么在EF同时提交时,不需要人为的设定附表的主表的主键值,EF会自动为附表添加外键值.…
EF如何操作内存中的数据和加载外键数据:延迟加载.贪婪加载.显示加载 之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的.这个系列讲讲如何使用EF操作数据库. 一.EF小试牛刀 系列文章开始的时候提示大家,必须学会且习惯使用sql Profiler(开始 - 程序 - Microsoft SQL Server 2008 - 性能工具 - Sql Server Profiler),它可以监控到ef生成的sql是什…
对于主外键约定的理解,其实是学习实体间一对一和一对多关系的基础. 1.1 主键(Key)约定 主键的默认约定是:只要字段名为--实体名(类名)+"id"(不区分大小写),这就算是默认的主键约定. 如果要显示标识的话,就使用特性标签进行标识: public class Student { [Key] public int StudentKey { get; set; } public string StudentName { get; set; } } 这样标识的主键,在数据库的名称就是…
ef core设置可选外键,有如下几种方式:1.在依赖实体AAA中,并不显式设置外键属性XXXId 2.手动设置外键属性XXXId为可空类型(int?等类型) 3.在实体类与数据表进行映射时,配置狭隘属性的方式配置可选外键builder.Property<int?>("XXXId") 4.可以在依赖实体中定义外键属性的前提下手动配置映射关系关联是否可空builder.HangMany(m=> m.AAA).WithOne(o => o.XXX).IsReques…