在hbm映射中我可以
<composite-id>
[..]
<key-property name="someStringProperty"
column="somefield"
type="AnsiString"
lenght="8"/>
</composite-id>
我如何在Fluent中设置(设置类型和长度)?
编辑:
我在support.fluentnhibernate.org上发布了这个帖子。我提供了一些修改以支持将类型设置为例如AnsiString那里。
编辑2:
今天Paul Batum在他的开发分支中增加了对文本类型和长度的支持。 (有关更改,请参阅github。)
这使得写入
CompositeId()
.KeyProperty(
p => p.SomeProp,
k => k.ColumnName("someField").Type("AnsiString").Length(8))
答案 0 :(得分:2)
我更新到1.2并且能够将键属性的类型设置为AnsiString
CompositeId()
.KeyReference(x => x.ViewDto, "type_id")
.KeyProperty(x => x.FieldName, p =>
{
p.ColumnName("field_name");
p.Type("AnsiString");
});
答案 1 :(得分:1)
CompositeId()
.KeyProperty(x => x.Id1, "ID1")
.KeyProperty(x => x.Id2, "ID2");
没有类型或长度的选项。
但在版本1.1中似乎有可能
CompositeId()
.KeyProperty(x => x.Id1)
.KeyProperty(x => x.Id2, kp => kp
.ColumnName("ID2")
.Type(typeof(string)));