Как я могу определить, присоединен ли данный объект Linq-to-Sql к datacontext?

StackOverflow https://stackoverflow.com/questions/840924

  •  20-08-2019
  •  | 
  •  

Вопрос

Я использую linq 2 sql для своего ORM.

По соображениям производительности я сериализую некоторые из них и помещаю их в memcached.

Когда они десериализуются, они, конечно, не привязываются к datacontext, что на 100% нормально, поскольку они используются только для чтения в этих сценариях.

Однако по соображениям здравомыслия я хотел бы иметь возможность определить, присоединен ли данный объект к datacontext (извлеченный из базы данных) или нет (извлеченный из memcached).

Есть какие-нибудь идеи?

Спасибо.

Это было полезно?

Решение

Используйте GetOriginalEntityState.Вот такой тест.

Customer cust = new Customer();
ctx.Customers.Attach(cust);

Customer orig = ctx.Customers.GetOriginalEntityState(cust);

//test if orig is null
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top