具有现有类的实体框架

时间:2015-05-29 00:29:25

标签: entity-framework

我已经搜遍了我能想到的每一个方法,但是如果我忽略了一个帖子,请原谅我...

我有一个包含模型类的项目,我想保持数据库无知(假装有人递给我代码并说“你不能修改这些类的一个字符”)。我想使用Entity Framework将它们持久化到SQL Server。到目前为止,我已经能够使用流畅的API来映射EF无法逻辑确定的任何内容。但是我遇到了以下问题:

public class PhotoPost {
    // mapped as Key with fluent API - comes from blog provider
    public string PostID { get; set; }
    public string Caption { get; set; }
    public Collection<Photo> Photos { get; set; }
}

public class Photo {
    public string Url { get; set; }
    public Image LoadImage() { … }
}

我有一个类PhotoPost,它代表博客上的一种帖子。 PhotoPost实例具有Photo类型的对象集合,所有这些对象都需要持久保存到数据库中。我的问题是Photo确实没有主键。博客提供商不保证Url不会更改,我也无法触摸此代码来添加任意ID。此外,我真的不想一个ID。与这些对象交互的代码不应该/不会知道这些对象是来自博客的API还是来自本地数据库(或XML,......),所以我真的不想弄乱我的代码用样板文件将这些对象子类化到另一个项目中,只是为了在任何地方添加ID(以及构造函数来创建具有父类的ID的子类,而不是如上所述)以使EF满意。

子类化是添加ID我唯一的选择,还是我可以在中间遇到“实体”和“复杂类型”之间的方式? (据我所知,复杂类型必须与其父实体一对一。)

0 个答案:

没有答案