0

Entity Frameworkを使用していて、エンティティの静的Createメソッドを使用してデータベースに新しいレコードを作成しようとしています。

具体的には、DBにAllelesというテーブルがありますが、CreateAlleleメソッドは、このテーブルのPKであるIdの値を要求します。

私は本当にこれを提供する必要がありますか?PKを自動インクリメントするのはDB次第ではありませんか?

これがEFで表された私のテーブルです

これがインテリセンスでPK値を要求する

4

2 に答える 2

1

Idが列の場合IDENTITY、値(たとえば、-1)を指定するだけで、レコードIDがコミットされたときにEFが生成されたキーに置き換えます。

于 2012-05-28T17:58:07.243 に答える
0

SQL Management Studioを使用して列のID値を変更するか、作成スクリプトにIDプロパティを含めることができます。エンティティ図を更新すると、うまくいくはずです。

IDENTITYは、テーブルに設定できるプロパティです。このプロパティは、テーブル全体の1つの列にのみ設定できます。SQL Serverは、プロパティの作成時に指定したシードに基づいて、この列の増分を処理します。

IDENTITY [ ( seed , increment ) ]

シード—テーブルにロードされる最初の行に使用される値です。

Increment —ロードされた前の行のID値に追加される増分値です。

デフォルト値–(1,1)

新しいテーブルの作成中にID列を作成するにはどうすればよいですか?

CREATE TABLE tblEmployees
(
  ID int IDENTITY(1,1),
  Name varchar (200),
  SSN varchar(10)
)
于 2012-05-28T12:04:40.680 に答える