使用普通.NET类进行实体框架实体类映射

时间:2011-02-03 15:22:45

标签: c# .net entity-framework entity-framework-4

我在Entity Framework中有以下内容。

表格 - 国家/地区

字段

  • 列表项
  • COUNTRY_ID
  • Dialing_Code
  • ISO_Alpha2
  • ISO_Alpha3
  • ISO_Full

我想将此实体模型中的选定字段映射到我的域类。

我的域模型类是

public class DomainCountry
{
    public int Country_ID { get; set; }
    public string Dialing_Code { get; set; }
    public string ISO_3166_1_Alpha_2 { get; set; }
}

以下方法有效,但无法插入或更新。为了获得插入或更新,我们需要使用 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
            });

这有一个很好的解决方案吗?真是太棒了。

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

也就是说,只有我们想要向外界展示的列

2 个答案:

答案 0 :(得分:0)

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

阅读此博客文章系列,它对我帮助很大:

http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

答案 1 :(得分:0)

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

http://www.roque-patrick.com/windows/final/bbl0065.html