为什么我们在使用Entity Framework的时候默认值没有注册SQL呢?在T-SQL为什么默认值在sql的时候我们首先使用的是实体框架代码没有注册
表代码:
CREATE TABLE [dbo].[T2](
[ID] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) COLLATE Arabic_CI_AS NOT NULL,
[Groups] [int] NOT NULL CONSTRAINT [DF_T2_Groups] DEFAULT (ident_current('T2')),
CONSTRAINT [PK_T2] 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]
当我使用实体框架,为Groups
列的默认值不能被注册。
为什么?
解决方案是什么?
类
public class T2
{
public int ID { set; get; }
public string name { set; get; }
public int Groups { set; get; }
}
telentity db = new telentity();
db.T2.Add(new T2()
{
name="ali"
});
db.SaveChange();
如果'T2.Groups'允许空值,那么'public int Groups {get; set;}'应该是'public int?组{get; set;}' – 2013-04-30 17:27:26
已更正的代码sql – 2013-04-30 17:33:21