c# - Entity Framework 复杂类型属性作为键

标签 c# entity-framework entity-framework-6

Entity Framework 中有没有办法使用一些复杂类型作为实体的键并映射到现有数据库?

假设我有这样的数据库:

create table people ( id int, name nvarchar(128) )

我想将以下 C# 类结构映射到此表:

    class PersonId
    {
        public int Id { get; set; }
    }

    class Person
    {
        public PersonId Id { get; set; }
        public string Name { get; set; }
    }

我该怎么做?

-德米特罗

最佳答案

如果您只有 on 属性,那么拥有一个单独的 PersonId 类有什么意义呢?这对我来说似乎是不好的做法。

也许您只需要一个复合键。要在 EF 中使用,您可以像这样声明您的类:

[Key, Column(Order = 0)]
public int column1 { get; set; }

[Key, Column(Order = 1)]
public int column2 { get; set; }

关于c# - Entity Framework 复杂类型属性作为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39452572/

相关文章:

c# - 检查 Task.Run 尚未运行

c# - 我可以为 C# Windows 应用程序拖放功能选择自定义图像吗?

c# - 来自 SQL Server 的 json 格式响应如何工作?

c# - C#中两个日期之间的周差

c# - Entity Framework Brainmush Kerfuffle 壮观

linq - 如果 LINQ toEntity 查询不返回任何值,如何返回默认值

asp.net - 在 ASP.NET 中管理 Entity Framework ObjectContext

entity-framework-6 - 在 asp.net-core mvc 应用程序中创建新的 ApiController 时发生 PathTooLongException

c# - 使用 include 不会改变行为

c# - 如何强制触发 OnModelCreating 每个 DataContext 初始化