BeginnerCoderPete Ответов: 2

Должен ли я использовать entity framework или просто прямые SQL-запросы для получения моих данных в WPF?


Я перехожу на WPF из Winforms, и мои поиски в google по моему вопросу все еще оставляют меня в недоумении.

Должен ли я просто использовать

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=myDB;Integrated Security=true;");
SqlDataAdapter adaptor = new SqlDataAdapter("SELECT ID,Name,Surname,JobTitle FROM tblEmployees;", con);
DataTable dt = new DataTable();
adaptor.Fill(dt);


Когда мне нужно получить данные из SQL или я должен использовать Entity Framework?

public ObservableCollection<tblEmployee> GetEmployees()
{
    EmployeesEntities Context = new EmployeesEntities();
    Context.tblEmployees.Load();
    return Context.tblEmployees.Local;
}


Я начал создавать свое приложение с помощью Entity Framework, поскольку оно было похоже на набор данных, к которому я привык, но я вроде как хочу получить реальный ответ, прежде чем продолжить.

Я так привык к TableAdaptors и BindingSources из Winforms и немного не уверен, почему WPF не использует тот же подход.

Что я уже пробовал:

Я пробовал Google, ища лучший способ подключения к SQL в WPF.

2 Ответов

Рейтинг:
2

Dave Kreskowiak

На этот вопрос нет "реального ответа". Это вопрос личных предпочтений.

Что касается адаптеров таблиц, то это тренировочные колеса. Вы действительно не должны использовать их, если вы не хотите.

Существует множество других способов получить нужные данные из базы данных, например прямые SQL-запросы с использованием кода, который вы имеете в своем первом примере, Entity Framework, NHibernate, хранимые процедуры ...

Это просто зависит от того, какой код вы хотите написать и с каким уровнем занудства вы хотите иметь дело.


BeginnerCoderPete

Спасибо за ваш ответ. Я рад слышать, что речь идет о предпочтениях. Я просто буду работать с обоими, пока не решу, какой метод будет моим предпочтительным. Мне очень нравятся настольные адаптеры, но я думаю, что с тех пор, как я начал с vb.net тогда я действительно не знаю многого другого до сих пор.

Рейтинг:
0

MadMyche

На этот вопрос нет ответа, все зависит от мнения.

Entity Framework позволит потенциально увеличить время разработки.
Использование наборов данных ADO & позволит разработчику увеличить потенциал функциональных знаний и повысить производительность.


BeginnerCoderPete

Спасибо за ваш ответ, я думаю, что у обоих будут свои плюсы и минусы, так что мне придется просто со временем решить, какой метод я предпочитаю.

MadMyche

Все, что мы пишем с нуля, - это ADO & DataTables