代码之家  ›  专栏  ›  技术社区  ›  Nils

fluent-nhibernate复合材料关键性能的设定类型和长度

  •  4
  • Nils  · 技术社区  · 15 年前

    在hbm映射中我可以

    <composite-id>
       [..]
       <key-property name="someStringProperty" 
                     column="somefield" 
                     type="AnsiString" 
                     lenght="8"/>
    </composite-id>
    

    我该如何用流利的语言(设置类型和长度)?


    我把这个贴在 support.fluentnhibernate.org


    今天,Paul Batum在他的dev分支中增加了对文本类型和长度的支持。(见 github
    这样就可以写

    CompositeId()
      .KeyProperty(
           p => p.SomeProp, 
           k => k.ColumnName("someField").Type("AnsiString").Length(8))
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   RonaldV    15 年前

    好像你不能。你只能走到。。。

    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)));
    
        2
  •  2
  •   KevM    14 年前

                CompositeId()
                .KeyReference(x => x.ViewDto, "type_id")
                .KeyProperty(x => x.FieldName, p =>
                                                   {
                                                       p.ColumnName("field_name");
                                                       p.Type("AnsiString");
                                                   });
    
    推荐文章