Код: Выделить всё
AppDbContext.cs
Код: Выделить всё
public class AppDbContext : DbContext
{
public DbSet People { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = "server=localhost;database=wpfproba;user=root;password=;";
optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString));
}
}
< /code>
MainWindow.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Window1 window1 = new Window1();
window1.Show();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Window2 window2 = new Window2();
window2.Show();
}
}
< /code>
Window1.cs
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void PeopleList_Initialized(object sender, EventArgs e)
{
PeopleList.Items.Clear();
using (var db = new AppDbContext())
{
var people = db.People.ToList();
foreach (var person in people)
{
PeopleList.Items.Add($"{person.Id}, {person.Name}, {person.Location}");
}
}
}
}
< /code>
Window2.cs
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
}
private void hozzaad_Click(object sender, RoutedEventArgs e)
{
string name = Name.Text.Trim();
string location = Location.Text.Trim();
if (!string.IsNullOrWhiteSpace(name))
{
try
{
using (var db = new AppDbContext())
{
var person = new Person { Name = name, Location = location };
db.People.Add(person);
db.SaveChanges();
}
MessageBox.Show("Save successful!");
name.Clear();
location.Clear();
}
catch (Exception ex)
{
MessageBox.Show("An error occurred: " + ex.Message);
}
}
else
{
MessageBox.Show("Please enter a name.");
}
}
}
< /code>
Person.cs
namespace wpfproba2
{
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Location { get; set; }
}
}
< /code>
Мой вопрос:
выглядит ли это хорошим подходом для обработки данных в WPF с EF Core и MySQL?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... te-windows