我有一個Oracle數據庫設置,數據庫有一堆視圖。 視圖GFL_BUYERS_ID_V
有2列EMPLOYEE_ID
和FULL_NAME
。在創建mvc項目之前,數據庫已經被填充了。asp net mvc oracle數據庫無法檢索數據
我順利地加入了數據庫,並增加了一個模式modelBuilder.HasDefaultSchema("examplename.");
我的情況下,因爲當我使用SQL檢索數據,我需要做的:
SELECT * FROM "examplename".GFL_BUYERS_ID_V
爲它工作,我認爲是它是爲了什麼。提前道歉我是.net,mvc和連接數據庫的新手。
以下崩潰在.Select
並告訴我,值不能爲空(我不知道什麼是返回一個空值,如果我檢查上下文中的值 - >GFL_BUYERS_ID_V
中斷時,在本地有0個值,在結果視圖它包含了所有合適的人的,我認爲這是相關的信息,但我不知道如何使用它):
var model = new EmployeeModel();
using (var context = new OracleContext())
{
model.Buyers = context.GFL_BUYERS_ID_V.Select(s => new EmployeeModel.Buyer
{
BuyerId = s.EMPLOYEE_ID,
FullName = s.FULL_NAME
}).ToList();
}
return View(model);
這是我的目標:
public class EmployeeModel
{
public int EmployeeModelId { get; set; }
public List<Buyer> Buyers { get; set; }
public class Buyer
{
public int BuyerId { get; set; }
public string FullName { get; set; }
}
}
我知道有一個連接到數據庫和我可以通過VB查詢它。我已經用連接字符串弄清楚了,它是正確的。
編輯:劃痕,我不知道如果我的程序能夠連接到數據庫或不。
如果你想我提供更多的信息,我會很樂意,真想讓這一個工作。
編輯2:這似乎是一些生病的玩笑顯然它顯示了一個數:how
如果我去服務器資源管理器,我可以看到它已連接到數據庫,並且我可以使用VB中的查詢從視圖中提取數據。但即使我嘗試獲取context.GFL_BUYERS_ID_V.Count()。它仍然是空的,所以我認爲模式不是我認爲的那樣,所以我評論了它。如果我沒有模式運行它,我得到外部組件拋出異常。兩者都屬於Oracle.ManagedDataAccess.Client。OracleException 否則我不知道如何測試它自己連接的程序,或者如何獲取View以通過程序顯示數據。 –
你可以回拉數據或獲得相同模式中其他表或視圖的記錄數? –
我不能,當我得到一個空值或外部組件拋出異常。我不是100%他們的意思,但因爲我基於添加或刪除架構得到他們兩個(我不知道它是什麼)。我假設null值是因爲它無法確定正確的對象,因爲我可以使用SQL從視圖中提取值。因此,解決外部組件錯誤似乎是前進的方向,因爲我可能只是搞亂提取信息的命令。 –