ich eine Einheit haben wiefließend-nhibernate: nicht die Datensätze immer
public class SKU
{
//public int Id { get; set; }
public string FactoruCode { get; set; }
public string Ptoduct { get; set; }
}
und Mapping definiert als
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");
}
}
und das Abrufen der Datensätze wie
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);
}
}
aber die Tabelle mehr Spalten als für Entität angegeben. Dieser Code wird zwar gut ausgeführt, aber ich kann die Liste der SKUs nicht abrufen (die Tabelle enthält mehr als 8000 Zeilen).
Bitte helfen Sie mir, das Problem zu verstehen.
Sie sagen, dass der Code gut ausgeführt wird und bitten Sie um Hilfe, um einen Fehler zu verstehen? Erhalten Sie eine Ausnahme? Wenn ja, was ist die Ausnahme? – Jay
Hi Jai, ich bin mir sicher, dass der Code gut kompiliert. Dies ist eine Konsolenanwendung. – Akhil