我正在使用这两种模型进行应用
public class Operator
{
//attributes
public virtual ICollection<Merchant> Merchants { get; set; }
}
public class Merchant
{
//attributes
public virtual ICollection<Operator> Operators { get; set; }
}
使用此DbContext派生类对第一种方法进行编码。
public class ContextClass : DbContext
{
public ContextClass() : base("name=DefaultConnection")
{
}
public virtual DbSet<Operator> Operators { get; set; }
public virtual DbSet<Merchant> Merchants { get; set; }
//public object Merchant { get; internal set; }
}
我已经在数据库中建立了连接并成功进行了播种。 现在我正在尝试使用此功能在其他两个没有关系的对象之间建立新的关系
ContextClass _db = new ContextClass();
public bool createRelationShip(int MerchantId, int OperatorId)
{
var _mm = new MerchantManager();
var _om = new OperatorManager();
var _merchat = _mm.GetMerchant(MerchantId);//gets merchant object
var _operator = _om.GetOperator(OperatorId);//gets operator object
if (_merchat != null && _operator != null)
{
_merchat.Operators.Add(_operator);//supposed to create relationship
//the same way as I did in seeding
_db.Merchants.Add(_merchat);
//what next??
return true;
}
return false
}
我不知道如何将关系添加到数据库中。
答案 0 :(得分:0)
您正试图添加一个ID已经存在的商家。您与
建立了关系_merchat.Operators.Add(_operator);
删除行
_db_Merchants.Add(_merchat);
并替换为
_db.SaveChanges();