0

いくつかのエンティティをデータベースに書き込みたいのですが、一般的に何かを書きたいエンティティがたくさんあります。これを知っています:

using(var dbContext = new myEntity())
{
   db.EntityName.AddToObject(newEntity);
   db.SubmitChanges();
}

次のように変更する方法がわかりません: db.AddToObject("stringName") 多くのテーブルがあり、モデルに多くのエンティティがあるため、いくつかのコードを書きたいだけです。

メソッドを作成し、それを別の名前で呼び出すのは良いことです。

4

2 に答える 2

1

簡単な方法の 1 つは、insert メソッドをデリゲートにカプセル化し、次のようにコードに渡すことです。

void InsertEntity<TEntity>(TEntity newEntity, Func<myEntity, TEntity> insertCallback) where TEntity : EntityObject
{
    using(var dbContext = new myEntity())
    {
        insertCallback(dbContext, newEntity);
        dbContext.SaveChanges();
    }
}

その後、アイテムを挿入するときは、挿入メソッドを提供する必要があります (エンティティが と呼ばれると仮定しますClient) :

var client = new Client();
InsertEntity<Client>(client, (dbContext, entity) => dbContext.Client.AddToObject(entity));
于 2012-04-24T13:59:10.850 に答える
0

ScottGu には、使用できるDynamic Linqライブラリがあります。

ここに画像の説明を入力

于 2012-04-23T16:45:50.720 に答える