일부 데이터를 생성하고 db에 저장하는 간단한 콘솔 프로그램을 구현하려고합니다. 문제는 코드를 통해 레코드를 삽입 할 때만 프로그램이 작동한다는 것입니다. SqlServer Management Studio를 사용하여 만든 테이블에서 일부 레코드를 읽으려고하면 레코드가 제대로 작동하지 않습니다. 또한이 값을 읽으려는 시도가 어떻게 든 테이블의 데이터를 삭제하는 것으로 보입니다. 실행 후 SqlServer를 확인하면 이전에 삽입 한 레코드가 사라집니다. 이것은 내가 읽기를 수행하는 부분은 :Fluent Nhibernate : SqlServer Management Studio를 통해 삽입 된 데이터베이스의 레코드를 읽지 않습니다.
using(var session = NHibernateHelper.OpenSession())
{
using(var transaction = session.BeginTransaction())
{
var DepartmentObject = InsertDepartment("IT", "962788700227");
var firstEmployee = InsertEmployee("Jacopo", "disoccupated", DepartmentObject);
var secondEmployee = InsertEmployee("Andrea", "programmatore", DepartmentObject);
var thirdEmployee = InsertEmployee("Davide", "fashion-blogger", DepartmentObject);
session.Save(DepartmentObject);
session.Save(firstEmployee);
session.Save(secondEmployee);
session.Save(thirdEmployee);
transaction.Commit();
var elencoEmployee = session.Query<Employee>().ToList(); // this reading is working because I create the table and insert values via code
var elencoTabTest = session.Query<TabTest>().ToList(); // this reading return a list of 0 elements but on the db there is a table named TabTest with 2 records
}
}
InsertEmployee
및 InsertDepartment
함수는 속성을 설정 Employee/Department
개체를 만듭니다. 누군가가 몇 가지 아이디어를 가지고
class TabTest
{
public virtual int Id { get; set; }
public virtual string Descrizione { get; set; }
}
class TabTestMap : ClassMap<TabTest>
{
public TabTestMap()
{
Id(x => x.Id);
Map(x => x.Descrizione);
Table("TabTest");
}
}
경우 공유하십시오 :
이
내가 읽고 싶은 테이블을 매핑해야하는 클래스TabTest
입니다.
이 표의 두 번째 점과 관련하여 표를 매핑하는 클래스에있는 코드로 코드를 편집했습니다. Session.Query를 사용하여 읽기만 코드로 수행합니다.. –
jacopinho04
그럼에도 불구하고 "선택이 깨지지 않았습니다"(https://blog.codinghorror.com/the-first-rule-of-programming-its-always-your-fault/). 추가 한 코드 조각은 아무것도 증명하지 못합니다 (이 조각은 아직 완전한 실행 가능 프로그램이 아니므로 코드가 분명합니다). 당신은 당신이하는 모든 것을 검토 할 필요가 있습니다. 정확히 같은 데이터베이스의 같은 테이블에서 읽으려고하십니까? 스크립트를 프로그래밍하거나 테스트 할 때 또는 매번 실행할 때 데이터베이스를 다시 초기화하지 않는 것이 확실합니까? NHibernate.SQL에 대한 로깅을 켜거나 SQL 프로파일 러를 사용하여 전체 그림을 얻습니다. –