Castle ActiveRecord 映射一个视图
Castle ActiveRecord mapping a view
您好,我正在使用 VS2012 c# 和 Castle Active Record。
看完这篇
How to map a database view using ActiveRecord?
还有这个
mapping view using castle activerecord, exception on primary key
还有这个
Castle ActiveRecord Error With View: NHibernate.PropertyNotFoundException for generated key
我仍然不知道如何解决这些问题中每个人都有的相同问题。
如果不添加组合键,我如何在 Castle ActiveRecords 中映射视图? 提到了一个简单的主键,但这是什么意思?我该如何设置?或者有别的办法吗?
视图所基于的 table 有一个主键列,但是当我将其映射为主键时,它会抛出错误 Could not perform FindAll。当我打开它时,内部异常为空。什么都没有...
嘿德克,感谢您的回答这里是查看地图
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.ActiveRecord;
using Castle.ActiveRecord.Queries;
namespace Data_Objects.CAR.Klase
{
[ActiveRecord("OSNOVNASREDSTVA")]
public class OsnovnaSredstva : ActiveRecordBase<OsnovnaSredstva>
{
private int _ossr_sifra;
private string _ossr_naziv;
private string _ossr_opis;
private int _ossr_stanje;
private int _ossr_org;
private int _ossr_lok;
private DateTime _ossr_odDatuma;
[PrimaryKey(PrimaryKeyType.Native, Column = "SIFRA")]
public int Ossr_Sifra
{
get { return _ossr_sifra; }
set { _ossr_sifra = value; }
}
}
}
我暂时删除了其他属性进行测试以确保问题出在主键属性上(确实如此)。
不确定视图结构是什么意思,但这里是 sql
CREATE VIEW OSNOVNASREDSTVA
AS select "SIFRA","NAZIV","OPIS","STANJE","REVALNABAVNACIJENA","NABAVNACIJENA","AMORTIZACIJA","DATUMNABAVE","SMJENA","STOPAAMORTIZACIJE","ORGANIZACIJA","POCETAKAMORTIZACIJE","ZADNJAAMORTIZACIJA","DEVNABAVNACIJENA","DEVAMORTIZACIJA","ODDATUMA","PREDMET","KONTOZALIHE","KONTOAMORTIZACIJE","GRUPAAMORTIZACIJE","KADAR","LOKACIJA","DOBAVLJAC","PROIZVODJAC","VALUTA","DODATUMA","MJESECI","ID","EAN","IZNOSPROBNEAMORTIZACIJE","DEVIZNOSPROBNEAMORTIZACIJE","DEVIZNOSPROBNEDORAZDOBLJA","IZNOSPROBNEDORAZDOBLJA","DEVREVALNABAVNACIJENA","PRIPREMA","BROJRACUNA","CREATED_BY","MODIFIED_BY","DATE_CREATED","DATE_MODIFIED","BILANCA","PORESKAGRUPAAM","REGISTARSKI_BROJ","MODEL","OSTALO","KOPIRANJE","BROJ_NALOGA","KUF_ID","AMORT_TEKUCA","AMORT_PRIJE_TEK","ZADNJASIFRA" from IBS.os_osnovnasredstva;
简答,我是个白痴
长答案数据库中的主键列是 Varchar2 类型,我将它设置为 int cos 查看数据它都是数字所以我假设(做一个屁股等等)它是数字而不看.事实并非如此。然后我将 class 属性从 int 更改为 string,这一切都非常有效。
您好,我正在使用 VS2012 c# 和 Castle Active Record。
看完这篇
How to map a database view using ActiveRecord?
还有这个
mapping view using castle activerecord, exception on primary key
还有这个
Castle ActiveRecord Error With View: NHibernate.PropertyNotFoundException for generated key
我仍然不知道如何解决这些问题中每个人都有的相同问题。 如果不添加组合键,我如何在 Castle ActiveRecords 中映射视图? 提到了一个简单的主键,但这是什么意思?我该如何设置?或者有别的办法吗?
视图所基于的 table 有一个主键列,但是当我将其映射为主键时,它会抛出错误 Could not perform FindAll。当我打开它时,内部异常为空。什么都没有...
嘿德克,感谢您的回答这里是查看地图
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.ActiveRecord;
using Castle.ActiveRecord.Queries;
namespace Data_Objects.CAR.Klase
{
[ActiveRecord("OSNOVNASREDSTVA")]
public class OsnovnaSredstva : ActiveRecordBase<OsnovnaSredstva>
{
private int _ossr_sifra;
private string _ossr_naziv;
private string _ossr_opis;
private int _ossr_stanje;
private int _ossr_org;
private int _ossr_lok;
private DateTime _ossr_odDatuma;
[PrimaryKey(PrimaryKeyType.Native, Column = "SIFRA")]
public int Ossr_Sifra
{
get { return _ossr_sifra; }
set { _ossr_sifra = value; }
}
}
}
我暂时删除了其他属性进行测试以确保问题出在主键属性上(确实如此)。
不确定视图结构是什么意思,但这里是 sql
CREATE VIEW OSNOVNASREDSTVA
AS select "SIFRA","NAZIV","OPIS","STANJE","REVALNABAVNACIJENA","NABAVNACIJENA","AMORTIZACIJA","DATUMNABAVE","SMJENA","STOPAAMORTIZACIJE","ORGANIZACIJA","POCETAKAMORTIZACIJE","ZADNJAAMORTIZACIJA","DEVNABAVNACIJENA","DEVAMORTIZACIJA","ODDATUMA","PREDMET","KONTOZALIHE","KONTOAMORTIZACIJE","GRUPAAMORTIZACIJE","KADAR","LOKACIJA","DOBAVLJAC","PROIZVODJAC","VALUTA","DODATUMA","MJESECI","ID","EAN","IZNOSPROBNEAMORTIZACIJE","DEVIZNOSPROBNEAMORTIZACIJE","DEVIZNOSPROBNEDORAZDOBLJA","IZNOSPROBNEDORAZDOBLJA","DEVREVALNABAVNACIJENA","PRIPREMA","BROJRACUNA","CREATED_BY","MODIFIED_BY","DATE_CREATED","DATE_MODIFIED","BILANCA","PORESKAGRUPAAM","REGISTARSKI_BROJ","MODEL","OSTALO","KOPIRANJE","BROJ_NALOGA","KUF_ID","AMORT_TEKUCA","AMORT_PRIJE_TEK","ZADNJASIFRA" from IBS.os_osnovnasredstva;
简答,我是个白痴
长答案数据库中的主键列是 Varchar2 类型,我将它设置为 int cos 查看数据它都是数字所以我假设(做一个屁股等等)它是数字而不看.事实并非如此。然后我将 class 属性从 int 更改为 string,这一切都非常有效。