Установите EntityKey вручную без доступа к базе данных
В моем приложении (сначала база данных) первичные ключи всегда создаются клиентом, а не базовой базой данных.
В Entity Framework v4 каждый Entity
если бы это EntityKey
свойство, которое можно установить вручную.
Тем не менее, я не могу найти его больше в EF6?
Есть ли какая-то конкретная причина, почему?
Я не хочу звонить ctx.SaveChanges()
только иметь Entity's
Ключ, установленный как это означает, вызов к базе данных.
Мне также интересно, почему ObjectContext.CreateEntityKey
ушел?!
1 ответ
Если вы используете POCO - вот пример того, как это можно сделать
public class ChronosItem
{
[Column, Key, Required, MaxLength(26), DatabaseGenerated(DatabaseGeneratedOption.None)]
public string Id { get; set; }
....
Если вы не можете настроить свои объекты
переопределить метод "OnModelCreating" в вашем контексте.. как это..
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ChronosItem >()
.HasKey(p => p.Id)
.Property(p => p.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);