Entity framework 具有现有类的实体框架

Entity framework 具有现有类的实体框架,entity-framework,Entity Framework,我已经尽我所能找到了答案,所以请原谅我忽略了一个帖子 我有一个包含模型类的项目,我想保持对数据库的无知(假装有人递给我代码并说“不允许修改这些类的一个字符”)。我想使用实体框架将它们持久化到SQL Server。到目前为止,我已经能够使用fluent API映射EF无法逻辑确定的任何内容。但我遇到了以下问题: public class PhotoPost { // mapped as Key with fluent API - comes from blog provider p

我已经尽我所能找到了答案,所以请原谅我忽略了一个帖子

我有一个包含模型类的项目,我想保持对数据库的无知(假装有人递给我代码并说“不允许修改这些类的一个字符”)。我想使用实体框架将它们持久化到SQL Server。到目前为止,我已经能够使用fluent 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() { … }
}
public-class-PhotoPost{
//使用fluent API映射为键-来自博客提供商
公共字符串PostID{get;set;}
公共字符串标题{get;set;}
公开收集照片{get;set;}
}
公开课照片{
公共字符串Url{get;set;}
公共映像加载映像(){…}
}
我有一个类,PhotoPost,它代表博客上的一种帖子。PhotoPost实例有一个Photo类型的对象集合,所有这些对象都需要持久化到数据库中。我的问题是照片实际上没有主键。博客提供商不保证Url不会更改,我也不能通过此代码添加任意ID。此外,我并不真正需要ID。与这些对象交互的代码不应该/不会知道这些对象是来自博客的API还是来自本地数据库(或XML,…),因此,我不想在另一个项目中将这些对象的子类化过程中用样板文件把代码弄得乱七八糟,只想在任何地方添加ID(和构造函数,用父类中的ID创建子类,如上所述),让EF满意


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

您希望在数据库中看到什么?这将帮助您设置模型。也许画出你的表结构,我们会对如何在EFI中实现它有一些更好的建议。如果有一个Photos表,它会有一个自动递增的PK(我不关心),并且PhotoPosts表有一个FK。无法更新照片,只有删除父帖子时才能进行删除。所以,我甚至不想看到或思考代码中的ID。有没有一种方法可以做到这一点,或者有一种简单的方法可以将那些有类似问题的xyzpost子类化,以便将它们与EF一起使用?