2010-12-20 1 views
0

Код:EF CTP 5 создание и сохраняется объект графа проблем

Something smt = new Something(){ 
Prop = 123, 
Prop2 = "asdad" 
} 

foreach(var related in relatedsomething) 
{ 
    smt.Related.Add(new Related(){ 
    relatedprop = 123, 
    }; 
} 

выполнение дает мне ошибку о нулевой ссылке. Связанный виртуальный Icollection. никаких полей внешнего ключа в сущности.

на наоборот, если я

foreach(var related in relatedsomething) 
{ 
db.Related.Add(new Related(){ 
    relatedprop = 123, 
    Something = smt 
    }; 
} 

Он работает.
Хотя, я хочу, чтобы он работал как в первом фрагменте.
Я делаю что-то неправильно? «Cos в отгруженном EF4 работает в обоих направлениях.

модели классов (соответствующая часть):

public class Printer 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<Replica> Replicas { get; set; } 


} 
public class Replica 
{ 
    public int Id { get; set; } 
    public virtual Printer Printer { get; set; } 


} 


public class PrintersContext: DbContext 
{ 
    public DbSet<Printer> Printers { get; set; } 
    public DbSet<Replica> Replicas { get; set; } 

} 
+0

Пожалуйста, разместите свою модель объекта, включая * Что-то * и * Связанные * классы. Благодарю. –

ответ

0

С кодом сначала вы должны инициировать свои коллекции в конструкторе.

class printer 
{ 
    public virtual ICollection<replica> replicas {get;set;} 
    public printer{ 
     replicas = new HashSet<replica>(); 
    } 
} 

и все это будет волшебным образом работать снова.

0

Я думаю, что я мог бы столкнуться с той же проблемой. I posted on MSDN, но ответа не получил.

Вероятно, это ошибка в EF, с которой вам нужно жить и работать.

 Смежные вопросы

  • Нет связанных вопросов^_^