我是否需要在实体框架6中使用POCO类

尼尔特

使用实体框架模型从模板自动生成了以下类。

namespace Entities
{
    using System;
    using System.Collections.Generic;

    public partial class Country
    {
        public Country()
        {
           this.Regions = new HashSet<Region>();
        }

        public long CountryId { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public bool Preferred { get; set; }
        public System.DateTime LastChanged { get; set; }

        public virtual ICollection<Region> Regions { get; set; }
   }
}

我有一个Wcf Web服务,仅返回POX(Xml)和Json。我想返回自己的序列化对象,例如;

public class MyResponseObject
{
    public int RequestId {get;set;}
    public List<Country> CountryList {get;set;}
    //other properties
}

但是我不想返回Regions ICollection。

然后可以使用类似的方法返回该对象

Newtonsoft.Json.JsonConvert.SerializeObject()

我最好以这种方式返回自己的序列化POCO对象吗?

在这样的项目中,您的类可以分为两种类型:

  1. 数据库实体对象(实体框架可使用的对象)
  2. 数据协定对象(WCF或您的Web服务可以使用的对象)

尽管可以为两个对象使用相同的对象,但不建议这样做,因为数据库实体对象是与外部接口(您的Web服务)分开的内部实现问题。您可能会在数据库表中添加或删除列,而不希望更改API合同。但是通常您会希望向服务使用者隐藏信息,例如数据库表Users ( UserId, Password ),您绝对不希望该Password属性消失!

另一个不这样做的原因是,您以后可能想将属性添加到Web服务协定类(例如,以控制输出格式或输入验证),将这些属性添加到实体对象是很痛苦的,即使在某些情况下不是不可能的。

我知道这听起来像是不必要的重复工作,因为大多数班级将拥有相同的成员,但是从长远的角度来看这是有道理的。

幸运的是,诸如AutoMapper之类的工具可以加快将数据从数据库实体对象复制到数据协定对象的过程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实体框架类与POCO

来自分类Dev

在 spring 框架中,如果我使用注释而不是 XML 配置,我是否需要在单独的类中初始化 spring 容器?

来自分类Dev

在实体框架6中使用TransactionScope

来自分类Dev

是否需要在单例类中使用弱引用?

来自分类Dev

我是否需要在 recyclerView 或 recyclerView 中使用列表视图?

来自分类Dev

我是否需要在synced(anyObject)块中使用AtomicInteger?

来自分类Dev

我是否需要在 ngOnDestroy 中使用 `complete()` takeUntil Subject?

来自分类Dev

使用Angular 2时,是否需要在Typescript中复制我的Entity Framework类?

来自分类Dev

我们是否需要在.net 4.0或4.5中使用此关键字

来自分类Dev

您何时需要在实体框架中包括相关实体?

来自分类Dev

在akka-http中,当响应不是200时,是否需要在接收器中使用响应实体?

来自分类Dev

我是否需要在类声明中使用常量值声明的成员数组上调用 delete[]?

来自分类Dev

MVVM和实体框架中POCO类的含义

来自分类Dev

WPF中的实体框架POCO类和ViewModel

来自分类Dev

实体框架POCO中的枚举

来自分类Dev

即使访问仅限于我的数据访问层,我也需要在UI中引用实体框架吗?

来自分类Dev

是否需要在Flink中使用Windows?

来自分类Dev

我是否需要在Xcode 9,Swift 4中使用cocoapods明确声明要安装哪个版本的alamofire

来自分类Dev

如果我在函数中使用指针来填充列表,是否需要在c ++中删除该函数末尾的指针?

来自分类Dev

我是否需要在实现 MessageListener 类的类的 onMessage 方法中关闭执行程序?

来自分类Dev

我是否仍需要在使用子级父代NSManagedObjectContext的应用程序中使用mergeChangesFromContextDidSaveNotification

来自分类Dev

为什么我们需要在 Spring Data JPA 中使用 @Transactional 注释 Service 类

来自分类Dev

我是否需要在类中定义一个用于依赖项注入的容器?

来自分类Dev

我是否需要在新类中声明构造函数和析构函数?

来自分类Dev

带有Zeus的RSpec 3.1,我是否需要在spec_helper中使用“ rspec / rails”?

来自分类Dev

我是否需要在POST中使用与GET相同的VM来重新加载索引?

来自分类Dev

我是否需要在单语言UWP应用程序中使用create_async?

来自分类Dev

我们是否需要在BCrypt中使用固定盐?

来自分类Dev

我是否需要C#创建要在IronPython中使用的dll?

Related 相关文章

  1. 1

    实体框架类与POCO

  2. 2

    在 spring 框架中,如果我使用注释而不是 XML 配置,我是否需要在单独的类中初始化 spring 容器?

  3. 3

    在实体框架6中使用TransactionScope

  4. 4

    是否需要在单例类中使用弱引用?

  5. 5

    我是否需要在 recyclerView 或 recyclerView 中使用列表视图?

  6. 6

    我是否需要在synced(anyObject)块中使用AtomicInteger?

  7. 7

    我是否需要在 ngOnDestroy 中使用 `complete()` takeUntil Subject?

  8. 8

    使用Angular 2时,是否需要在Typescript中复制我的Entity Framework类?

  9. 9

    我们是否需要在.net 4.0或4.5中使用此关键字

  10. 10

    您何时需要在实体框架中包括相关实体?

  11. 11

    在akka-http中,当响应不是200时,是否需要在接收器中使用响应实体?

  12. 12

    我是否需要在类声明中使用常量值声明的成员数组上调用 delete[]?

  13. 13

    MVVM和实体框架中POCO类的含义

  14. 14

    WPF中的实体框架POCO类和ViewModel

  15. 15

    实体框架POCO中的枚举

  16. 16

    即使访问仅限于我的数据访问层,我也需要在UI中引用实体框架吗?

  17. 17

    是否需要在Flink中使用Windows?

  18. 18

    我是否需要在Xcode 9,Swift 4中使用cocoapods明确声明要安装哪个版本的alamofire

  19. 19

    如果我在函数中使用指针来填充列表,是否需要在c ++中删除该函数末尾的指针?

  20. 20

    我是否需要在实现 MessageListener 类的类的 onMessage 方法中关闭执行程序?

  21. 21

    我是否仍需要在使用子级父代NSManagedObjectContext的应用程序中使用mergeChangesFromContextDidSaveNotification

  22. 22

    为什么我们需要在 Spring Data JPA 中使用 @Transactional 注释 Service 类

  23. 23

    我是否需要在类中定义一个用于依赖项注入的容器?

  24. 24

    我是否需要在新类中声明构造函数和析构函数?

  25. 25

    带有Zeus的RSpec 3.1,我是否需要在spec_helper中使用“ rspec / rails”?

  26. 26

    我是否需要在POST中使用与GET相同的VM来重新加载索引?

  27. 27

    我是否需要在单语言UWP应用程序中使用create_async?

  28. 28

    我们是否需要在BCrypt中使用固定盐?

  29. 29

    我是否需要C#创建要在IronPython中使用的dll?

热门标签

归档