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

StackOverflow https://stackoverflow.com/questions/1632316

  •  06-07-2019
  •  | 
  •  

Вопрос

У нас есть приложение, которое сильно зависит от хранимых процедур и нетипизированных наборов данных. Я хотел бы сохранить эту гибкость, но использовать возможности 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 , но я не думаю, что я все равно могу это сделать.

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top