У нас есть существующее приложение, которое сильно зависит от хранимых процедур и нетипизированных наборов данных. Я хотел бы сохранить эту гибкость, но использовать возможности REST ADO.NET Data Services. Однако когда я пытаюсь использовать следующий код, чтобы предоставить DataSet для служб данных ADO.NET:
namespace NewTechnologyDemo {
public class MyDataSource {
public IQueryable<DataRow> TheDataSet {
get {
using (SqlConnection connection = new SqlConnection("server=MySQLServer;integrated security=sspi;database=MyDatabase")) {
using (SqlCommand command = new SqlCommand("select * from Orders", connection)) {
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0].AsEnumerable().AsQueryable();
}
}
}
}
}
}
Я получаю сообщение об ошибке:
The server encountered an error processing the request. The exception message is 'On
data context type 'MyDataSource', there is a top IQueryable property 'TheDataSet' whose
element type is not an entity type. Make sure that the IQueryable property is of entity
type or specify the IgnoreProperties attribute on the data context type to ignore this
property.'.
Я видел здесь, что службы данных ADO.NET хотят, чтобы я украсить объект с помощью DataServiceKey атрибут, но я не думаю, что у меня есть возможность это сделать.
Любые идеи о том, как я могу заставить это работать? Я чувствую, что это должно быть возможно ...