ef插入主键有关问题

ef插入主键问题
我在设计数据库的时候主键已经默认自动生成了,是字符串类型的,用ef插入的时候当然不会在为主键设置值。但ef提示主键不能为空,我也明白ef这么做也没错,可是我创建表时已经写好主键的生成方式了。求明白的人解决一下。下面写上我的表的生成sql语句。
create table A
(
AId nvarchar(50) primary key default newid(),
AText nvarchar(50)
)
用ef插入时只插入AText字段,报主键不能为空。怎么解决啊?
------解决方案--------------------
newid() 返回uniqueidentifier 类型的数据,你字段是nvarchar当然不行了
------解决方案--------------------
把Aid  的类型改成  
uniqueidentifier
试试。
------解决方案--------------------
首先,主键既然是newid,设置为uniqueidentifier类型比较好。
其次,插数据的时候,在程序中用Guid.NewGuid()来创建主键写入主键字段。比较好,一来避免ef报错,二来,你直接可以拿到新插入数据的主键,不必重新再查一次。