1
내가 다 대다 관계를 매핑하기 위해 노력하고있어,하지만 매핑 목록 속성이 null 유지 및 항목은 저장되지 않습니다 (작동하지 않는 나는 다음과 같은 테이블을 사용FluentNHibernate 자동 매핑 ManyToMany
을 :.
을 :User(Id, Name, Password,...)
Role(Id, Name)
RoleUser(UserId, RoleId) with a compound primary key
내 개체 파일이 적용되는 두 개의 규칙이 있습니다
public class User
{
public virtual int Id { get; protected set; }
public virtual string UserName { get; set; }
public virtual IList<Role> Roles { get; set; }
}
public class Role
{
public virtual int Id { get; protected set; }
public virtual IList<User> Users { get; set; }
public virtual string Name { get; set; }
}
있습니다 내가 파일에 매핑을 내보낼 때 8,
, 내가 예를 들어 사용자 정의 내에서 다음 코드를 얻을 :
는<id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="Id" />
<generator class="identity" />
</id>
<bag cascade="all" inverse="true" name="Roles" table="RoleUser">
<key>
<column name="UserId" />
<column name="UserId" />
</key>
<many-to-many class="Security.Role, Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<column name="RoleId" />
</many-to-many>
</bag>
<property name="UserName" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="UserName" />
</property>
키 내에서 중복 열 사용자 ID 나에게 올바르지 보인다. 내가 뭘 잘못했는지 모르겠습니다. 도와 주셔서 감사합니다.
schemaexport가 올바른 스키마를 생성합니까? ddl을 db 대신 파일로 내보낼 수 있습니다. – Firo
스키마 내보내기 스 니펫은 ExportTo (폴더) 메소드로 생성되었습니다. 무엇을 의미합니까? –
당신은 생성 된 매핑을 게시했으나'새로운 SchemExport (config) .Execute (새로운 StreamWriter ("somefile.txt"). WriteLine, false, null, false) ' – Firo