나는이 질문을 잠시 동안 연기하고 있지만, 지금은 항상 나를 귀찮게하고있다.테이블을 winforms 컨트롤로 올바르게 바인딩하는 방법?
sealed class Repository<T> : IRepository<T> where T :class
{
public IList<T> Items { get; private set; }
public void Load()
{
Items.Clear();
var session = SessionHelper.GetSession();
session.Clear();
using (var tx = session.BeginTransaction())
{
var list = session.Query<T>().ToList();
foreach (var obj in list)
{
Items.Add((T)session.Merge(obj));
}
session.Clear();
tx.Commit();
}
}
//more
}
과의 WinForm에서 나는에 바인딩 :
class Cashier
{
int Id {get; set;}
string name{get; set;}
IList<Site> Sites {get; set;}
}
class Site
{
int Id{get; set;}
string name {get; set;}
Cashier Cashier {get; set;}
}
나는이에 계산원을로드 - 나는 2 개 클래스 (. 내가 간결 public
및 virtual
을두고 이러한 클래스는 automapped있다)이 이 같은 BindingSource에 :
cashierBindingSource.DataSource = Cashiers;
나는 콤보 상자의 데이터 원본으로이 BindingSource에 설정하고 나는 콤보이 제외에 응용 프로그램을 실행하고 클릭 할 때 이온 날 던져 :
초기화 [HRProject.Model.Cashier # 1] 느리게 역할 수집하는 초기화가 실패했습니다 : 세션 또는 세션이 닫혔다없이 HRProject.Model.Cashier.Sites를
은 내가 많은 그런 수업을 나는이 작업을 수행하려면 깨끗한 방법이 느낌을 얻을, 매핑 재정의를 제공하는 것이 그러나이 문제
mapping.HasMany(x => x.Sites).Not.LazyLoad().Cascade.All();
를 해결 것으로 나타났다. 어떤 아이디어?
DisplayMember 및 ValueMember 란 무엇입니까? – clearpath