两个实体,其中一个实体单方面关联另一个实体,数据更新和添加。
Posted Stupid_Bire
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个实体,其中一个实体单方面关联另一个实体,数据更新和添加。相关的知识,希望对你有一定的参考价值。
public class Products { public int ID {get;set;} public string Name { get; set; } public ProductClass productClass { get; set; } } public class ProductClass { public int ID {get;set;} }
public class ProductsMap : EntityTypeConfiguration<Products> { public ProductsMap() { this.ToTable("Pro_Products"); this.HasRequired(p => p.productClass) .WithMany() .Map(p => p.MapKey("PCID")) .WillCascadeOnDelete(false); } }
Product单方面关联ProductClass。
更新代码:
new public void Modify(Products entity) { using (var db = base.NewDB()) { var old = db.Products.Single(p => p.ID == entity.ID); var oldPreproties = old.GetType().GetProperties(); var newPreproties = entity.GetType().GetProperties(); foreach (var olditem in oldPreproties) { foreach (var item in newPreproties) { if (olditem.Name == item.Name) { olditem.SetValue(old, item.GetValue(entity)); break; } } } old.productClass = db.ProductClass.Single(p => p.ID == entity.productClass.ID); db.Entry(old).State = EntityState.Modified; db.SaveChanges(); } }
记录下这个特殊的情况,以做后用
以上是关于两个实体,其中一个实体单方面关联另一个实体,数据更新和添加。的主要内容,如果未能解决你的问题,请参考以下文章
我有两个实体,它们通过一对一的映射连接我只想保存一个实体数据并获取另一个实体的现有 ID 和映射
java反射获取一个实体类中的另外一个实体类中属性的值,两个实体类是关联关系。