SqlServer 2008のプライマリキーがchar(2)で、これを1対多の関係で参照したいが、ManyToOneBuilder(ClassMap < > .References())にはCustomSqlType()メソッドがありません。具体的には:参照でCustomSqlTypeを設定する
public class State
{
// state FIPS code is 2 characters
public virtual string StateCode { get; set; }
public virtual ICollection<County> { get; set; }
}
public class County
{
// state-county FIPS code is 5 characters
public virtual string StateCountyCode { get; set; }
public virtual State State { get; set; }
}
public class StateMap : ClassMap<State>
{
public StateMap()
{
Id(e => e.StateCode).CustomSqlType("char(2)").GeneratedBy.Assigned();
}
}
public class CountyMap : ClassMap<County>
{
public CountyMap()
{
Id(e => e.StateCountyCode).CustomSqlType("char(5)").GeneratedBy.Assigned();
References(e => e.State, "StateCode")
// Here's what I want to do, but can't because the method is not
// implemented on the class ManyToOneBuilder:
.CustomSqlType("char(2)");
}
}
ManyToOneBuilderを変更せずにこれを行う方法はありますか? FK(County.StateCode)を正しいタイプに自動的にマッピングする方法はありますか? ManyToOneBuilderにCustomSqlTypeを追加するのは簡単ですが、それは正しいことですか?