实体框架:如何将列映射到数据库

本文关键字:映射 数据库 框架 实体 | 更新日期: 2023-09-27 18:37:28

我的模型属性需要来自自定义类型。此自定义类型有两个属性 [ID, 文本显示]。我想要的是只在数据库中保存自定义类型的 ID 值。另一个值是 TextToShow 仅在从数据库中检索时使用。

我正在使用连接到SQL Server的EF6,VS2015和C#

实体框架:如何将列映射到数据库

如果要让实体框架忽略数据库中的列,请在模型的属性上使用 NotMapped 属性。

class Example {
    public Guid Id { get; set; }
    [NotMapped]
    public string TextToShow { get; set; }
}
找到

的解决方案:1) 我将 ID 字段的名称更改为其他名称,以便 EF 将其识别为键。

2) 将文本标记为 [未映射]

结果:数据库中仅存储了 ID 字段 [已重命名] 的值。

*

将为面临相同问题的任何人保持此对话开放

    *

如果我做对了,你需要的是一个复杂类型 使用 EF 设计器应该很容易设置。或者,如果您使用的是代码优先方法,您可以查看 Brady Holt 的这篇博客文章。

添加复杂类型后,使用 [NotMapped] 属性标记要忽略的字段