public class SKU
{
//public int Id { get; set; }
public string FactoruCode { get; set; }
public string Ptoduct { get; set; }
}
엔티티가 있고
public class SKUMap : ClassMap<SKU>
{
public SKUMap()
{
Table("MST_PRODUCT");
Not.LazyLoad();
Id(x => x.Ptoduct).GeneratedBy.Assigned();
Map(x => x.Ptoduct, "PRODUCT_NAME");
Map(x => x.FactoruCode, "FACTORY_CODE");
}
}
으로 정의되고
class Program
{
static void Main()
{
var sessionFactory = CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
using (session.BeginTransaction())
{
var skus = session.CreateCriteria(typeof(SKU)).List<SKU>();
foreach (var sku in skus)
{
Console.WriteLine(sku.Ptoduct);
}
}
}
}
private static ISessionFactory CreateSessionFactory()
{
var cfg = OracleClientConfiguration.Oracle10
.ConnectionString(c =>
c.Is(
@"DATA SOURCE=SERVER_NAME;PERSIST SECURITYINFO=True;USER ID=USER_ID;Password=PWD"));
return Fluently.Configure()
.Database(cfg).Mappings(m => m.FluentMappings.AddFromAssemblyOf<Program>())
.ExposeConfiguration(BuildSchema).BuildSessionFactory();
}
private static void BuildSchema(NHibernate.Cfg.Configuration config)
{
new SchemaExport(config).Create(false, true);
}
}
와 같은 레코드를 검색하는 매핑이 있지만 엔티티에 지정된 것보다 많은 열이 테이블에 있습니다. 이 코드는 잘 실행되지만 SKU 목록을 가져올 수 없습니다 (표에는 8000 개가 넘는 행이 있음).
문제를 이해하도록 도와주세요.
코드가 제대로 실행되고 오류를 이해하는 데 도움을 요청합니까? 예외가 있습니까? 그렇다면 예외는 무엇입니까? – Jay
안녕하세요 Jai, 코드가 잘 컴파일되어 있는지 확인합니다. 이것은 콘솔 응용 프로그램입니다. – Akhil