首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在fluent nhibernate中设置复合键属性的类型和长度

在fluent nhibernate中设置复合键属性的类型和长度
EN

Stack Overflow用户
提问于 2010-10-12 21:41:45
回答 2查看 2.3K关注 0票数 5

在hbm映射中,我可以

代码语言:javascript
复制
<composite-id>
   [..]
   <key-property name="someStringProperty" 
                 column="somefield" 
                 type="AnsiString" 
                 lenght="8"/>
</composite-id>

如何在Fluent中实现(设置类型和长度)?

编辑:

我在support.fluentnhibernate.org上贴了这个。我包括了一些修改,以支持将类型设置为例如AnsiString。

编辑2:

今天,Paul Batum在他的dev-branch中添加了对文本类型和长度的支持。(有关更改,请参阅github。)

这使得我们可以编写

代码语言:javascript
复制
CompositeId()
  .KeyProperty(
       p => p.SomeProp, 
       k => k.ColumnName("someField").Type("AnsiString").Length(8))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-12 21:59:56

看起来你不能。你只能走到...

代码语言:javascript
复制
CompositeId()
        .KeyProperty(x => x.Id1, "ID1")
        .KeyProperty(x => x.Id2, "ID2");

没有类型或长度的选项。

但在1.1版中,似乎有一种可能性

代码语言:javascript
复制
CompositeId() 
            .KeyProperty(x => x.Id1) 
            .KeyProperty(x => x.Id2, kp => kp 
                .ColumnName("ID2") 
                .Type(typeof(string)));
票数 2
EN

Stack Overflow用户

发布于 2012-03-14 01:35:34

我更新到了1.2,并且能够将键属性的类型设置为AnsiString

代码语言:javascript
复制
            CompositeId()
            .KeyReference(x => x.ViewDto, "type_id")
            .KeyProperty(x => x.FieldName, p =>
                                               {
                                                   p.ColumnName("field_name");
                                                   p.Type("AnsiString");
                                               });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3915324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档