Могу ли я использовать ADO.NET Data Services с источником данных LINQ-to-DataSet? - PullRequest
0 голосов
/ 27 октября 2009

У нас есть приложение, которое сильно зависит от хранимых процедур и нетипизированных наборов данных. Я хотел бы сохранить эту гибкость, но использовать возможности REST ADO.NET Data Services. Тем не менее, когда я пытаюсь использовать следующий код для предоставления DataSet ADO.NET Data Services:

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 Data Services хочет, чтобы я украсил объект атрибутом DataServiceKey , но я не думаю, что я все равно могу это сделать. 1011 *

Любые идеи о том, как я мог бы заставить это работать? Я чувствую, что это должно быть возможно ...

1 Ответ

0 голосов
/ 27 октября 2009

Я сомневаюсь, что DataSet будет иметь достаточно сильные метаданные, чтобы быть полезными, и вам понадобятся классы. Я сделал несколько потов (начиная здесь) , чтобы заставить его работать с LINQ-to-SQL, что может оказаться полезным.

...