当我在Migration类中使用这样的方法时:
DbSet<T>.AddOrUpdate( new Instance(){});
该方法只生成插入T-SQL,并且我收到一个异常,因为该行中存在该行。
Migration类中的slibing方法如下:
DbSet<T>.AddOrUpdate( p=>p.name,new Instance(){}):
我无法以我的方式对此进行转换(该表有一个连接索引(Column1,Column2))。
现在我的问题是:如何使用方法
public static void AddOrUpdate<TEntity>(
this IDbSet<TEntity> set,
Expression<Func<TEntity, Object>> identifierExpression,
params TEntity[] entities
)where TEntity : class
参数identifierExpression 我必须定义表的拖曳列以确定是否应该执行添加或更新操作
答案 0 :(得分:1)
使用此语句将解决问题,因为它无法索引您的列。
DbSet<T>.AddOrUpdate( new Instance(){});
你应该改用它吗?
context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);