0

我想将一些实体写入数据库,但有很多实体我喜欢为他们写一些东西,现在我知道了:

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

我不知道如何将其更改为: db.AddToObject("stringName") 我只想编写一些代码,因为我有很多表,所以我的模型中有很多实体。

编写一个方法并用不同的名称调用它对我有好处。

4

2 回答 2

1

一种简单的方法是将插入方法封装到委托中并将其传递给您的代码,如下所示:

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

之后,在插入项目时,您需要提供 insert 方法(假设您有一个名为 的实体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 回答