2016-09-19 25 views
0

私はこのような移行クラスのメソッドを使用する:移行:DbSet <T> .AddOrUpdateトラブル

DbSet<T>.AddOrUpdate(new Instance(){}); 

方法行が中に存在しているので、ちょうど、インサートT-SQLを生成し、私は1つの例外を受け取ります表。

このようなマイグレーションクラスのslibing方法:

DbSet<T>.AddOrUpdate(p=>p.name,new Instance(){}): 

私は(表に1つのインデックス(列1、列2)に参加している)私のやり方でこれを変換することはできません。今

私の質問です:メソッドを使用する方法

public static void AddOrUpdate<TEntity>(
    this IDbSet<TEntity> set, 
    Expression<Func<TEntity, Object>> identifierExpression, 
    params TEntity[] entities 
)where TEntity : class 

私はテーブルの牽引列を定義しなければなりませんidentifierExpression パラメータが追加または更新操作が

答えて

1

これを使用して実行する必要があるかどうかを判断します文は列にインデックスを付けることができないため、問題が解決されます。

DbSet<T>.AddOrUpdate(new Instance(){}); 

は、あなたの代わりにこれを使用する必要があります。

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people); 
+0

ありがとうございました!!!!私はちょうど会社に着いた、私はまだこれを試していないが、あなたのファッションはとても創造的です、私はこの方法について考えなかった、私は、arrary、リスト、考えて考えた。私は早くあなたのファッションを試してみます。ありがとうございました。 –

+0

私はあなたにキスをしましょう。 –

+0

あなたは私にキスをしてみませんか? –

関連する問題