2016-02-19 53 views
0

你好我正在使用VS2012 c#和Castle Active Record。Castle ActiveRecord映射視圖

看完這個

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。當我打開它的內部異常是空的。沒有什麼...

嘿德克謝謝回答這裏是查看地圖

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

您能否提供您的視圖結構和您嘗試的映射?對於NHibernate/AR來說,如果你映射到視圖或表格,這應該沒有關係。 –

回答

0

簡短的回答,我是個白癡。

長答案在數據庫中的主鍵列是Varchar2類型,我將它設置爲int cos查看數據它是所有數字,所以我假設(做一個屁股和所有的),它是數字沒有看。事實並非如此。然後,我將類屬性從int更改爲字符串,並且它們都像魅力一樣工作。