Имитировать поиск значения в Entity Framework - PullRequest
0 голосов
/ 19 июля 2011

Я пытаюсь реализовать EF с существующей структурой таблицы, которую я не могу изменить, чтобы иметь возможность сохранять данные.

У меня есть TableA со столбцами, например:

EntityCode
EntityName
...

EntityCode - это первичный ключ таблицы с именем Entities со столбцами, подобными следующим:

EntityCode
EntityName

Данные в памяти содержат только EntityCode для записи TableA.Мне нужно заполнить TableA. EntityName при вставке записи.

Текущий код для персистентности просто сначала выполняет поиск (SELECT EntityName FROM Entities WHERE EntityCode='blah).

Как мне (могу ли я) имитировать это поведение в EF 4.1?

1 Ответ

0 голосов
/ 19 июля 2011

Примерно так может работать:

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();        
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...