EF 级联更新(插入)的问题,主表插入一条记录,字典表跟着插入一条新的纪录,新手求帮助,万分感谢

huangliliu0917 2016-08-31 04:00:00
主表是一张客户表,现在主表插入一条记录,性别表也跟着插入一条
比如原来性别表的信息,求大神帮忙。。。。。。
1 男
2 女
当我新增一个客户记录,选了男,性别字典表就变成
1 男
2 女
3 男
[Table("Customer")]
public class Customer : ModelBase
{
[Required(ErrorMessage = "客户编号不能为空!"), MaxLength(10, ErrorMessage = "客户编号不能超过10个字符!")]
public string CustomerId { get; set; }

[Required(ErrorMessage = "客户姓名不能为空!"), MaxLength(50, ErrorMessage = "客户姓名不能超过50个字符!")]
public string Name { get; set; }

[InverseProperty("CustomerSexFor")]
[Required(ErrorMessage = "性别不能为空!")]
public virtual SexType Sex { get; set; }
}

性别表
[Table("SexType")]
public partial class SexType : ModelBase
{
[Required(ErrorMessage = "名称不能为空!"), MaxLength(10, ErrorMessage = "性别不能超过10个字符!")]
public string Name { get; set; }

public int Sort { get; set; }

#region 别的表关联的外键
public virtual List<Customer> CustomerSexFor { get; set; }
#endregion
}

在OnModelCreating的时候进行映射
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<CrmDbContext>(null);
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Customer>().HasRequired(v => v.Sex).WithMany(d => d.CustomerSexFor).Map(v => v.MapKey("Sex")).WillCascadeOnDelete(false);
}

...全文
2430 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
garbun 2016-10-28
  • 打赏
  • 举报
回复
都过了这么久了 约摸楼主也应该解决了 可惜啊 现在这里的解决率赶脚越来越低了 新手都不造怎么问问题了哇.. 顺被贴个连接 以前学习EF级联添加删除操作的blog 我只是搬运工 http://www.cnblogs.com/oppoic/p/ef_single_entity_crud_related_data_crud.html
Honest_Dr 2016-09-06
  • 打赏
  • 举报
回复
添加客户信息时,同时把获取到客户信息的性别 往 性别表里添加一条记录
Justin-Liu 2016-08-31
  • 打赏
  • 举报
回复
应该先查询是不是存在吧,存在就不插入了
LFH__ 2016-08-31
  • 打赏
  • 举报
回复
执行插入语句的时候再执行一条性别插入语句

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧