MVC3プロジェクト(C#を使用)をからに更新しましObjectContext
たDbContext
が、奇妙なエラーが発生します...
私はデータベースファーストのアプローチを使用しており、nullではないName
タイプの列を持つテーブルがあります。SQL Serverでnvarchar
受け入れるように変更してから、モデルを更新し、ファイルを削除して、(ADO.NETを使用して)再度生成しました。null
edmx
.tt
DbContext
そのテーブルから新しいオブジェクトを作成し、Name
プロパティの値をnullに設定すると、DbEntityValidationException
にwithThe Name field is required
メッセージが表示されdb.SaveChanges()
ます。
しかし、テーブルは名前列でNULLを受け入れています!SQL ServerにSQLを含む多くの行を挿入し、列にNULLを挿入しましたName
。
どうすればそれを解決できるか知っている人はいますか?
いくつかの情報
これが私のテーブルSQLです:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Pre_Register](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](64) NULL,
[Email] [nvarchar](64) NOT NULL,
[Permission] [tinyint] NOT NULL,
[Password] [nvarchar](256) NOT NULL
PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
これは自動生成されたモデルクラスです。
public partial class Pre_Register
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public byte Permission { get; set; }
public string Password { get; set; }
}
そして、これが私がエラーを得る方法です:
Pre_Register preReg = new Pre_Register();
db.Pre_Register.Add(preReg);
preReg.Email = "dudu@mail.com";
preReg.Permission = 1;
preReg.Password = "123456";
preReg.Name = null;
// here it comes
db.SaveChanges();