Если я создаю модель с использованием EF, то расширьте ее, создав еще один частичный класс, как я могу сохранить расширенные значения свойств между контекстами EF? То естьСохранение частичных значений свойств между контекстами EF
У меня есть объект Stuff, который сопоставляется с таблицей базы данных. Я продлить его, создавая частичный класс:
public partial class Stuff
{
public int SomeInt { get; set; }
}
Затем установите это значение и вызывать в различных контекстах:
Guid id = Guid.NewGuid();
using (var ctx = new EFPrototypeEntities())
{
string someData = Guid.NewGuid().ToString("N");
Stuff newStuff = new Stuff
{
Id = id,
SomeDate = DateTime.Now,
SomeData = someData,
SomeInt = 100
};
Console.WriteLine("Added stuff data :" + someData + " with int " + newStuff.SomeInt);
ctx.AddToStuffs(newStuff);
ctx.SaveChanges();
}
using (var ctx = new EFPrototypeEntities())
{
Stuff stuff = ctx.Stuffs.First<Stuff>(s => s.Id == id);
Console.WriteLine("Got stuff with data : " + stuff.SomeData + " and int " + stuff.SomeInt);
}
SomeInt возвращает 0 во втором контексте. Он возвращает 100, если я завершу все это только в одном контексте.
Если я использую один контекст, то есть в одиночном режиме, означает ли это, что все вызовы чтения и записи из контекста должны быть завернуты в блокировку для обеспечения безопасности потока? – DaveO