c# - Entity Framework 实体类与普通 .NET 类的映射

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

我在 Entity Framework 中有以下内容.

表格 - 国家

字段

  • 列表项
  • 国家代码
  • 拨号代码
  • 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
            });

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

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

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

最佳答案

“纯 .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

关于c# - Entity Framework 实体类与普通 .NET 类的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888002/

相关文章:

c# - 如何在我的 List<int> 中找到元素的索引?

c# - 对缓冲的 Observable 进行排序

c# - 仅从一个地方进行类实例化的模式?

c# - xml错误代码文件

c# - SftpClient.UploadFile 和 SftpClient.WriteAllBytes 有什么区别?

mysql - 将 TEXT 字段添加到 MySql 的 Entity Framework 模型

c# - 快速高效地下载多个文件(异步)

c# - 如何在 WPF 应用程序页面而不是窗口中禁用最大化按钮

asp.net-mvc - 对于 Asp.Net MVC 4 Web 应用程序 + API + Windows 服务,什么是放置验证的正确位置 - 在 Model 或 ViewModel 上?

c# - 设置列唯一 null 而不是 .NET EF Core 中的索引