您好我正在使用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中映射视图?提到一个简单的主键,但这意味着什么?我该如何设置?或者还有另一种方式吗?
视图所基于的表具有主键列,但是当我将其映射为主键时,它将抛出错误无法执行FindAll。当我打开它时,内部异常为null。什么都没有......
Hey Dirk感谢您回答这里是查看地图
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;
答案 0 :(得分:0)
简短的回答,我是个白痴。
长期回答数据库中的主键列是Varchar2类型,我将其设置为int cos,查看数据,这是所有数字,所以我假设(制作一个屁股和所有这些)它是数字而不看。它不是。然后我将class属性从int更改为string,它们就像魅力一样。