项目详情:
我正在做一个代码优先的项目,在我的迁移中,我希望为很多东西设置默认值。有一件事涉及两种非常特殊类型的外键来查找表。由于这些查找表必须始终加载已选择的默认值,因此这些查找表中有一个值始终具有Guid.Empty
值(00000000-0000-0000-0000-) 000000000000)作为其主键,因此可以很容易地将其识别为默认值。
我试图找到一种方法,如果传递空值,则使用这两个查找表的外键默认为空Guid。 这是添加保险以防万一我错过了代码本身的一个位置,我应该用空的Guid替换空值,但不要。另外,在这个项目中,特别是每周从外部数据库导入一次,我希望能够让所有导入的数据在其外键中具有此默认值,而无需进行额外的工作。让外键将这个空的Guid作为默认值从几个不同的角度来看非常方便。
是的,我使用Guids 作为 Guids,而不是varchar(128)字符串。这些外键是不可为空的uniqueidentifier
字段。
就迁移脚本而言,我现在希望手动将默认值添加到字段创建过程中,但我不知道如何将空Guid作为默认值手动插入{{1 }} field ..
我已发布帖子over at dba.stackexchange来处理此问题的MS SQL Server 2008部分。
建议?
答案 0 :(得分:0)
根据我的其他帖子over at dba.stackexchange,有迹象表明,在迁移脚本中向默认Guid.Empty
字段添加默认uniqueidentifier
的答案是这样的:
[foreign key] = c.Guid(nullable: false, defaultValue: '00000000-0000-0000-0000-000000000000'));
我还没有对此进行测试,所以如果我出错,请对此帖发表评论。