我们使用Guid作为至少一半表的标识符。对于其他表,可以使用更多“自然”标识符,以便我们可以从自然聚簇索引中获利。我们注意到Guids的使用会导致数据库中的大量开销,因为它们不是连续的。
有没有人在Codefluent中实现顺序指南,还是尝试过?你能分享你的方法和/或代码吗?
答案 0 :(得分:2)
您可以使用UuidCreateSequential
在C#中生成新的顺序guid,并将其分配给构造函数(OnAfterCreate
规则)中的属性。
CodeFluent实体模型:
<cf:entity name="Customer">
<cf:property name="Id" cfom:newGuidOnNew="false" key="true" />
<cf:property name="Name" />
<cf:rule typeName="OnAfterCreate" />
</cf:entity>
生成顺序guid的自定义代码:
partial class Customer
{
void OnAfterCreate()
{
Id = SequentialGuid.NewGuid();
}
}
static class SequentialGuid
{
[DllImport("rpcrt4.dll", EntryPoint = "UuidCreateSequential")]
public static extern Guid NewGuid();
}