开发者

Mimic a value lookup in Entity Framework

I'm trying to implement EF with an existing table structure that开发者_运维知识库 I'm not allowed to alter to be able to persist data.

I have TableA with columns like so:

EntityCode
EntityName
...

EntityCode is the primary key of a table called Entities with columns like so:

EntityCode
EntityName

The data in memory contains only the EntityCode for the TableA record. I need to populate TableA.EntityName when inserting the record.

The current code for persistance simply does a lookup first (SELECT EntityName FROM Entities WHERE EntityCode='blah).

How do I (can I) mimic this behavior in EF 4.1?


Something like this could work:

TableAObject tableA = new TableAObject() { EntityCode = "123" };
//...
using (var context = new MyDbContext())
{
    tableA.EntityName = context.Entities
        .Where(e => e.EntityCode == tableA.EntityCode)
        .Select(e => e.EntityName)
        .SingleOrDefault();

    context.TableAObjects.Add(tableA);
    context.SaveChanges();        
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜