복합 키를 만들었지 만 작동하고 있지만 행 클래스에서 별도의 직접 필드를 사용하고 싶습니다.NHibernate Composite Key
private UserPrimaryKey _compositeKey;
public virtual UserPrimaryKey CompositeKey
{
get
{
if (_compositeKey == null) _compositeKey = new UserPrimaryKey();
return _compositeKey;
}
set {
if (_compositeKey == value) return;
_compositeKey = value;
Host = value.Host;
UserAccount = value.User;
}
}
public string Host { get; set; }
public string UserAccount { get; set; }
그리고이 일을 더 나은 방법이 있는지 궁금 해서요 :이 일을 해요
현재의 방법은 다음과 같다? NHibernate 설정 파일에있을 수 있습니다.
나의 현재 설정 파일은 때라도입니다 :
<class name="TGS.MySQL.DataBaseObjects.DataBasePrivilege,TGS.MySQL.DataBaseObjects" table="user">
<composite-id name="CompositeKey" class="TGS.MySQL.DataBaseObjects.UserPrimaryKey, TGS.MySQL.DataBaseObjects">
<key-property name="Host" column="Host" type="string" length="60" />
<key-property name="User" column="User" type="string" length="16" />
</composite-id>
</class>
실제로 작동합니다 : O –
물론입니다! 나는 너에게 거짓말하지 않을 것이다 .-D –
고마워! : D 효과 –