我想從窗口代碼中發送或能夠訪問數據庫,所以我想在主窗口上添加一個構造函數并從 Program 類發送上下文,我在其中顯示我的窗口并加載數據庫,但是context在程序項目中,而我已經引用了window項目,所以不能循環引用我有兩個項目,一個用于 GUI,另一個包含所有類,包括實體框架數據庫的上下文class ProgramControl: DbContext{ public DbSet<Asignaturas> Asigns { get; set; } public DbSet<Alumno> Alumnos { get; set; } public DbSet<Profesor> Profes { get; set; } public DbSet<Aula> Aulas { get; set; }}public class Program{ public static void Main(string[] args) { using (var db = new ProgramControl()) { MainWindow mainWindow = new MainWindow(); mainWindow.Show(); } }}public partial class MainWindow : Window{ public static MainWindow AppWindow; public MainWindow() { InitializeComponent(); AppWindow = this; } private void AlumnoButton_Click(object sender, RoutedEventArgs e) { Window1 window1 = new Window1(); window1.Show(); } private void ExitButton_Click(object sender, RoutedEventArgs e) { Close(); } private void AsignaturasButton_Click(object sender, RoutedEventArgs e) { Window2 window2 = new Window2(); window2.Show(); } private void ProfesorButton_Click(object sender, RoutedEventArgs e) { Window3 window3 = new Window3(); window3.Show(); }}
1 回答

明月笑刀無情
TA貢獻1828條經驗 獲得超4個贊
您的程序類通常應該是您的 GUI 項目(也有窗口類)的一部分。然后在您的 GUI 項目中,您只需引用數據庫(上下文),反之亦然,這樣就消除了循環依賴。
此外,您使用不在您的代碼中的參數 db(ProgramControl 的實例;entityContext)調用 MainWindow 的構造函數?!
- 1 回答
- 0 關注
- 184 瀏覽
添加回答
舉報
0/150
提交
取消