Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架实体类与普通.NET类的映射_C#_.net_Entity Framework_Entity Framework 4 - Fatal编程技术网

C# 实体框架实体类与普通.NET类的映射

C# 实体框架实体类与普通.NET类的映射,c#,.net,entity-framework,entity-framework-4,C#,.net,Entity Framework,Entity Framework 4,我有以下内容 表-国家 田地 列表项 国家识别号 拨号代码 ISO_字母2 ISO_字母3 ISO_满 我只想将此实体模型中的选定字段映射到我的域类 我的域模型类是 public class DomainCountry { public int Country_ID { get; set; } public string Dialing_Code { get; set; } public string ISO_3166_1_Alpha_2 { get; set; }

我有以下内容

表-国家

田地

  • 列表项
  • 国家识别号
  • 拨号代码
  • ISO_字母2
  • ISO_字母3
  • ISO_满
我只想将此实体模型中的选定字段映射到我的域类

我的域模型类是

public class DomainCountry
{
    public int Country_ID { get; set; }
    public string Dialing_Code { get; set; }
    public string ISO_3166_1_Alpha_2 { get; set; }
}
以下操作将起作用,但无法插入或更新。为了获得insert或update,我们需要使用ObjectSet,但在我的例子中它不支持

IQueryable<DomainCountry> countries =
    context.Countries.Select(
        c =>
        new DomainCountry
            {
                Country_ID = c.Country_Id,
                Dialing_Code = c.Dialing_Code,
                ISO_3166_1_Alpha_2 = c.ISO_3166_1_Alpha_2
            });
IQueryable国家/地区=
context.Countries.Select(
c=>
新域名国家
{
国家/地区ID=c.国家/地区ID,
拨号代码=c.拨号代码,
ISO_3166_1_Alpha_2=c.ISO_3166_1_Alpha_2
});
有什么好的解决办法吗?这真是太棒了

理想情况下,它将是一种代理类,将支持所有的未来,但高度可定制

也就是说,只有我们想要向外部世界公开的列

术语“普通.NET类”是-普通的旧CLR对象(受普通的旧Java对象启发)

读了这个博客系列文章,对我帮助很大:


我也想做同样的事情。我的目标是通过共享DLL和发送/接收相同的类来构建一个WCF服务,该服务可以使用与我正在构建的应用程序相同的对象集。此外,我还想限制暴露哪些字段。在考虑了一段时间后,用户定义的cast似乎可以实现这一点。看看它是否适合你


我看到了上面的博客,他们解释了一些与LINQ和SQL几乎相似的东西。唯一的区别是使用对象上下文代替Datacontext,并代表GetTable使用CreateObjectSet。我没有发现更多的区别。如果有任何其他方法,您可以扩展您在这方面的帮助。@Elan他们所做的正是EF generator在标准情况下所做的。您可能只是看不到EF生成器的输出。你为什么不喜欢这种方法呢?我想要整个实体模型,除此之外,我还有一个域模型,它公开给WCF服务。由于外部世界的暴露,我不想让安全或重要的关键领域被暴露。这几乎是SQL视图的情况。