C# 基于EF生成实体的信息隐藏

C# 基于EF生成实体的信息隐藏,c#,entity-framework,poco,entity-framework-5,C#,Entity Framework,Poco,Entity Framework 5,我可以使用EF生成带有私有属性设置器的实体类吗 我想要像这样的东西 public class MyTable { public Guid Id {get; private set;} //... And so on and so forth, basically the class should hide the setters } 假设您正在使用tt模板生成POCO实体,通过修改tt文件,这是可能的 另一方面,由于专用变量在WCF通信期间不会序列化,因此如果您使用任何服务-客

我可以使用EF生成带有私有属性设置器的实体类吗

我想要像这样的东西

public class MyTable
{
    public Guid Id {get; private set;}
    //... And so on and so forth, basically the class should hide the setters
}

假设您正在使用tt模板生成POCO实体,通过修改tt文件,这是可能的


另一方面,由于专用变量在WCF通信期间不会序列化,因此如果您使用任何服务-客户端体系结构并交换生成的实体,您将面临问题。

假设您使用tt模板生成POCO实体,通过修改tt文件是可能的


另一方面,由于专用变量在WCF通信期间不会序列化,如果使用任何服务客户端体系结构并交换生成的实体,您将面临问题。

在代码生成下查看.edmx上所选属性的属性窗口。在代码生成下查看.edmx上所选属性的属性窗口。否,t4模板已经这样做了。只需在.edmx模型属性窗口中将属性的代码生成setter设置为private即可。@b查看我需要检查一下。是的,我将有单独的DTO和映射器。谢谢顺便问一下,如果我将哪些值设置为私有值,上下文如何跟踪这些值的更改?POCO通过动态生成代理来工作,从而生成虚拟属性。如果将字段设置为私有字段,那么代理将如何覆盖setters?否,t4模板已经这样做了。只需在.edmx模型属性窗口中将属性的代码生成setter设置为private即可。@b查看我需要检查一下。是的,我将有单独的DTO和映射器。谢谢顺便问一下,如果我将哪些值设置为私有值,上下文如何跟踪这些值的更改?POCO通过动态生成代理来工作,从而生成虚拟属性。如果将字段设置为私有,那么代理将如何覆盖setter?