代码之家  ›  专栏  ›  技术社区  ›  citronas

我应该如何命名数据库包装器对象?

  •  1
  • citronas  · 技术社区  · 14 年前

    对于我的CMS应用程序,我正在编写一个DLL,我将把它包含到我的项目中。该DLL将包括检索特定项目的所有新闻等功能。

    例如,我的数据库包含一个名为News的表。通过使用Entity Framework 4,我自动生成了一个名为 . 我不希望我的DLL方法返回这个对象,而不是只包含属性的包装类。

    我应该如何命名这个包装类? 新闻容器 .

    新闻 . 这是可行的,因为我在两个不同的名称空间中有两个类,但我不希望两个不同的类的名称相同。是不是可以,两个名字对不同的类是一样的?我问这个是因为 新闻

    编辑 :如果自动生成的实体框架类很重要的话,我会手动映射我自己的包装类和它之间的属性。

    3 回复  |  直到 10 年前
        1
  •  1
  •   p.campbell    14 年前

    我同意您最初将包装器/DTO类命名为 News

    我会画出这样的草图

    namespace MyCmsApp.Models
    {
        public class News {
            public string Title { get; set; }
            public string Body { get; set; }
            public string Author { get; set; }
        }
    }
    

    MyCmsApp.Models . 换句话说,正如你所建议的,EF生成的类不会进入你的应用程序。

    旁注:为什么要避免使用EF类?你会考虑吗 code-first 和/或模型优先设计?在这些场景中,数据库转向应用程序的对象模型设计。

        2
  •  3
  •   Joe Ratzer    14 年前

    听起来你在创造 DTOs ,在这种情况下,它可能是NewsDto或NewsDto之类的东西?

        3
  •  1
  •   djbaldwin    14 年前

    侧边栏:News已经很麻烦了,因为它是一个保留字,并且有奇怪的多元化问题,即:new new,newnews,newnewnews()。

    粗略翻译的n层可能看起来像。。。

    UI.ProjectNews (presentation)
    DTO.ProjectNews
    POCO.ProjectNews (logic)
    DTO.ProjectNews
    EF.ProjectNews (data)