エラーが発生しました:
{"ReferentialConstraintの依存プロパティは、ストアで生成された列にマップされます。列:'FeeID'。"}
セットアップ:データベースを手動で作成しました(SQL Server 2012およびSSMS)
edmxファイルがありません
データベース内の2つのテーブルにマップする2つのクラスFeeMetaData
とがあります(と)Fee
PFD.FeeMetaData
PFD.Fees
データベース構造
FeeMetadata
------------
FeeID BIGINT IDENTITY(1,1) PRIMARY KEY
Something VARCHAR(25) NOT NULL
Fees
------------
FeeID BIGINT PRIMARY KEY NOT NULL
FeeBatchID BIGINT NOT NULL
PersonID BIGINT
Amount DECIMAL(18,2) NOT NULL
DueDate DATE NOT NULL
FeeMetadata.FeeIDとFees.FeeIDの間には1対1の関係があります
クラス構造
Imports System.ComponentModel.DataAnnotations
Imports System.ComponentModel.DataAnnotations.Schema
Namespace PFD
<Table("FeeMetadata", Schema:="PFD")>
Public Class FeeMetadata
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal tFee As SOACourt_v1)
Me.New()
Me.PfdFee = New PFD.Fee(tFee)
End Sub
<Key>
<DatabaseGenerated(DatabaseGeneratedOption.Identity)>
Public Property FeeID As Int64
Public Property Something As String
<ForeignKey("FeeID")>
Public Property PfdFee As PFD.Fee
End Class
End Namespace
Namespace PFD
<Table("Fees", Schema:="PFD")>
Public Class Fee
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal tFee As SOACourt_v1)
Me.New()
Me.Amount = tFee.Amount
Me.DueDate = tFee.DueDate
End Sub
<DatabaseGenerated(DatabaseGeneratedOption.None)>
Public Property FeeID As Int64
Public Property FeeBatchID As Int64 = 0
Public Property PersonID As Int64? = 0
Public Property Amount As Decimal
Public Property DueDate As Date = Date.Today
End Class
End Namespace
使用法
Using tContext As FeesContext = New FeesContext
For Each tFee As SOACourt_v1 In tFees
tContext.FeeMetadata.Add(New PFD.FeeMetadata(tFee))
Next
tContext.SaveChanges() ' <---- Error occurs here
End Using
エラーの原因に関するアイデア:
{"ReferentialConstraintの依存プロパティは、ストアで生成された列にマップされます。列:'FeeID'。"}