我想從窗口代碼中發(fā)送或能夠訪問(wèn)數(shù)據(jù)庫(kù),所以我想在主窗口上添加一個(gè)構(gòu)造函數(shù)并從 Program 類發(fā)送上下文,我在其中顯示我的窗口并加載數(shù)據(jù)庫(kù),但是context在程序項(xiàng)目中,而我已經(jīng)引用了window項(xiàng)目,所以不能循環(huán)引用我有兩個(gè)項(xiàng)目,一個(gè)用于 GUI,另一個(gè)包含所有類,包括實(shí)體框架數(shù)據(jù)庫(kù)的上下文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 回答

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