0

作業中に小さな問題に陥るEF 6データベースの最初のアプローチ非同一キーフィールドに値を挿入します。DB最初

私はアイデンティティとなるように設定されていないテーブルのキーフィールドに値を挿入しようとすると、私は次の例外を受け取ります。

は列「emp_main_id」内にNULL値を挿入することはできません、列はNULLを許可しません。 INSERTは失敗します。
ステートメントが終了しました。

は、私はエラー

[Key] 
[DatabaseGenerated(DatabaseGeneratedOption.None)] 
public int emp_main_id { get; set; } 

を避けるために、エンティティクラスに次のコードを追加しましたが、それでも、それは働いて得ることができませんでした。以下は

は、この上の任意の助けが理解されるであろうdbテーブル

CREATE TABLE [dbo].[EmployeesMain] (
    [emp_main_id]   INT   NOT NULL, 
    [emp_main_first]  NVARCHAR (40) NOT NULL, 
    [emp_main_middle]  NVARCHAR (40) NULL, 
    [emp_main_last]  NVARCHAR (40) NOT NULL, 
    [emp_main_dob]   DATE   NOT NULL, 
    [emp_main_gender]  INT   DEFAULT ((1)) NOT NULL, 
    [emp_main_type]  INT   DEFAULT ((0)) NOT NULL, 
    [emp_main_email]  NVARCHAR (150) NOT NULL, 
    [emp_main_password] NVARCHAR (MAX) NOT NULL, 
    [emp_main_designation] NVARCHAR (150) NULL, 
    [emp_main_skill]  NVARCHAR (MAX) NULL, 
    [emp_main_contract] INT   DEFAULT ((0)) NOT NULL, 
    [emp_main_lead]  NVARCHAR (81) NULL, 
    [emp_main_img]   NVARCHAR (MAX) NULL, 
    [emp_main_doj]   DATE   DEFAULT ('01-JAN-2012') NULL, 
    CONSTRAINT [emp_main_primary_key] PRIMARY KEY ([emp_main_id]) 
); 

を作成するためのスクリプトです。

+0

挿入時にテーブルの主キー( "emp_main_id")を自動生成(自動自動増分)するようにSQLを構成しましたか? –

+0

Nazmulが言ったことを確認してください...オブジェクトnオブジェクト構造を追加しようとしているコードを共有します – Akanksha

+0

emp_main_idフィールドの[DataMember]属性を追加してみてください – Akanksha

答えて

0

自分自身で答えを書くことを決めました。

フィールドが以前にIDとして設定されていたため、フィールドの値が自動的に生成されていた問題がありました。アイデンティティーを削除してモデルをデータベースから更新した後でも、これはリセットされませんでした。だった私がしなければならなかったので、何

、.edmxファイルへ

  1. 移動します。
  2. 右プロパティをクリックしてくださいは
  3. プロパティをクリックし
  4. 設定StoreGeneratedPatterなし
  5. 保存にモデルを "emp_main_id" とそれだソリューション

を再構築します。フィールドの値を明示的に入力するオプションと一緒に、他のすべての制約と一緒に私に非同一キーを与えます。 Peace :)

0
  1. 問題プライマリキー の列、つまりemp_main_idにNULL値を挿入しようとしています。
  2. 主キーでは、NULL値または重複値を挿入できません。
  3. NULL値を挿入する場合は、主キー制約を削除します。
関連する問題