如何首先在代码上定义复合主键 [英] How to define composite primary key on code first

查看:109
本文介绍了如何首先在代码上定义复合主键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人,请帮我先在代码上定义复合主键,它不能同时定义两个属性代码



Anyone, please help me to define composite primary key on code first, it cannot to define both property code as below

Public Class TaskMapper
    Overridable Property TaskType As TaskType
    Overridable Property Task As Task
End Class

Public Class TaskType
    Inherits MasterData
End Class

Public Class Task
    Inherits MasterData
End Class

Public MustInherit Class MasterData
    Public Property Code() As String
    Public Property Name() As String
    Public Property Status() As String
End Class

Protected Overrides Sub OnModelCreating(ByVal modelBuilder As DbModelBuilder)
     'on this command raised an error  
modelBuilder.Entity(Of TaskMapper).HasKey(Function(tm) New With {tm.Task.Code, tm.TaskType.Code})
End Sub





我尝试过:



能够定义复合主键



What I have tried:

Able to define composite primary key

推荐答案

现在,我已经通过以下代码解决了这个问题

now, I solved this problem already by code as below
Quote:

公共类TaskMapper

'公共属性ID为整数

<键,> _

属性TaskTypeCode As String

可覆盖属性TaskType As TaskType

< key,> _

属性TaskCode As String

可覆盖属性任务为任务

结束类

Public Class TaskMapper
'Public Property ID As Integer
<key,> _
Property TaskTypeCode As String
Overridable Property TaskType As TaskType
<key,> _
Property TaskCode As String
Overridable Property Task As Task
End Class





谢谢



thank you


这篇关于如何首先在代码上定义复合主键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆