2
我正在使用Oracle最新發布的Managed ODP.NET驅動程序連接到我的數據庫(請參閱here)。連接設置很好。我現在嘗試使用一個非常實用的示例。問題是我得到了一個ArgumentOutOfRangeException。它出現在foreach-Statement上。使用LINQ to SQL與託管的ODP.NET(Oracle)
我很簡單的對象:
[Table(Name = "my_mgr.ADDRESS")]
public class Address
{
[Column(Name = "NAME")]
public string Surname;
[Column(Name = "VNAME")]
public string Forename;
[Column(Name = "ANZ")]
public int Anz;
}
測試查詢的一部分:
DataContext db = new DataContext(inst.Connection);
Table<Address> addressTable = db.GetTable<Address>();
if (addressTable != null)
{
//"SELECT * from my_mgr.ADDRESS WHERE anz > 0";
var query = from p in addressTable where p.Anz > 0 select p;
foreach (var p in query)
{
MessageBox.Show(
"Forename: " + p.Forename + "\n" +
"Surname: " + p.Surname
);
}
}
而我原來的SQL查詢時(這實際上是工作):
SELECT * from my_mgr.ADDRESS WHERE anz > 0
我真的搜索了很多,但我找不到有效的結果,因爲司機是非常新的,似乎沒有人之前提出這個問題。我非常確定該驅動程序支持LINQ to SQL,如this website所述。可悲的是,我無法使用實體框架和Visual Studio提供的自動生成工具。
曾經是那個linq to sql用於SQL Server(不是Oracle,這需要Linq to Entity)。所以這改變了(老實說不知道最新的化身)? – tbone 2013-02-26 15:03:17