C# 如何设置自动生成的值以及与SQL Metal或代码中的自动同步
我现在是凌晨1:30,所以如果这里有任何令人困惑的地方,我很抱歉。。这在我的脑海里似乎是有道理的……-) 我一直在使用SQLMetal为我的数据库表生成数据上下文 我使用命令:C# 如何设置自动生成的值以及与SQL Metal或代码中的自动同步,c#,linq-to-sql,sqlmetal,C#,Linq To Sql,Sqlmetal,我现在是凌晨1:30,所以如果这里有任何令人困惑的地方,我很抱歉。。这在我的脑海里似乎是有道理的……-) 我一直在使用SQLMetal为我的数据库表生成数据上下文 我使用命令: sqlmetal.exe /server:dbsvr\sqlexpress /database:"TestDB" /user:sa /password:password /namespace:DB_Data /context:DBDataContext /code:DBDataContext.cs /map:DB.map
sqlmetal.exe /server:dbsvr\sqlexpress /database:"TestDB" /user:sa /password:password /namespace:DB_Data /context:DBDataContext /code:DBDataContext.cs /map:DB.map
这一切都很好,我可以做我的表上的所有积垢功能,等等。。。好吧,差不多
我有一个“header”表,它有一个类型为“uniqueidentifier”的字段。。。插入新记录时,我希望数据库将值分配给该记录,并使用数据库中的新guid更新标题表记录。目前,我添加到表中的任何新记录的id guid字段都为零。。因此,当我尝试添加第二条记录时,由于出现了重复的密钥,它失败了
在寻找答案的过程中,我发现了以下帖子:
它提到在dbml中将“自动生成值”和“自动同步”分别设置为“True”和“OnInsert”
我的问题是,我没有dbml文件,因为它不是在我运行SQLMetal命令时创建的。我使用了.map文件生成参数。。
我意识到有一个“/dbml”标志,但我不知道该使用哪一个
我应该使用dbml文件而不是映射文件吗
或者,在代码中,当我创建一个新的头记录变量时,是否有一种方法可以告诉系统使用DB生成的ID值并更新我的记录变量……:
recHdr.Id.AutoGeneratedVales=True;
recHdr.Id.AutoSync=OnInsert
非常感谢