Я сделал небольшое приложение WPF с базой данных SQL CE.
Я построил следующий код с помощью LINQ для извлечения данных из базы данных, что было на удивление легко. Поэтому я подумал: «Это должно быть LINQ-to-SQL».
Затем я «добавил элемент» и добавил файл .dbml «Классы LINQ-to-SQL», перетащил мою таблицу в конструктор реляционных объектов, но там было сказано: «Выбранный объект использует неподдерживаемый поставщик данных».
Итак, я спросил, действительно ли следующий код на самом деле является LINQ-to-SQL, так как он действительно позволяет мне получать доступ к данным из моего файла базы данных SQL CE, но официально «LINQ-to-SQL» кажется неподдерживаемым для SQL CE.
Так что это следующий "LINQ-to-SQL" или нет?
using System.Linq;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Windows;
namespace TestLinq22
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
MainDB db = new MainDB(@"Data Source=App_Data\Main.sdf");
var customers = from c in db.Customers
select new {c.FirstName, c.LastName};
TheListBox.ItemsSource = customers;
}
}
[Database(Name = "MainDB")]
public class MainDB : DataContext
{
public MainDB(string connection) : base(connection) { }
public Table<Customers> Customers;
}
[Table(Name = "Customers")]
public class Customers
{
[Column(DbType = "varchar(100)")]
public string FirstName;
[Column(DbType = "varchar(100)")]
public string LastName;
}
}