在 LINQ/C# 中保存对象时出现问题
当我尝试保存新记录时,出现此错误:
Cannot insert the value NULL into column 'EmpresaID', table 'mydb.dbo.Empresa'; column does not allow nulls. INSERT fails.
The statement has been terminated.
使用 SQL Server Management Studio 2012 制作表格
USE [mydb]
GO
/****** Object: Table [dbo].[Empresa] Script Date: 25/04/2012 03:40:00 p.m. ******/
DROP TABLE [dbo].[Empresa]
GO
/****** Object: Table [dbo].[Empresa] Script Date: 25/04/2012 03:40:00 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Empresa](
[EmpresaID] [int] NOT NULL,
[RazonSocial] [nvarchar](210) NOT NULL,
[Nit] [nchar](20) NOT NULL,
CONSTRAINT [PK_Empresa] PRIMARY KEY CLUSTERED
(
[EmpresaID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
我做了一个处理数据的类
[Table(Name = "Empresa")]
class Empresa
{
private int _EmpresaID;
private string _RazonSocial;
private string _Nit;
[Column(DbType = "int", IsPrimaryKey = true, IsDbGenerated = true)]
public int EmpresaID
{
set { _EmpresaID = value; }
get { return _EmpresaID; }
}
[Column(DbType = "nvarchar(210)", CanBeNull = false)]
public string RazonSocial
{
set { _RazonSocial = value; }
get { return _RazonSocial; }
}
[Column(DbType = "nchar(20)", CanBeNull = false)]
public string Nit
{
set { _Nit = value; }
get { return _Nit; }
}
}
制作,这是哪种方法:
Entity.Empresa empresa = new Entity.Empresa() {
Nit = NuevaEmpresaNitTxtBox.Text,
RazonSocial = NuevaEmpresaRazonSocialTxtBox.Text
};
MyDataContext.GetTable<Entity.Empresa>().InsertOnSubmit(empresa);
MyDataContext.SubmitChanges();