3

问题:如何在 WPF Core 应用程序中“添加新数据源”?  
我执行了:
 - 创建了一个 WPF Core 应用程序;
 - 增加了课程CntDBSchool
 - 增加了课程Student
 - Menu Project//“添加新数据源”;
 - 结果:没有课程Student
  在此处输入图像描述

在此处输入图像描述

CntDBSchool

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.EntityFrameworkCore;
 
namespace WpfApp.Models
{
    class CntDBSchool: DbContext
    {
        public virtual DbSet <Student> Student {get; set; }
    }
}

Student

using System;
using System.Collections.Generic;
using System.Text;
 
namespace WpfApp.Models
{
    class Student
    {
        public int StudentID {get; set; }
        public string StudentName {get; set; }
        public Nullable <int> StandardId {get; set; }
        public byte [] RowVersion {get; set; }
    }
}

  Student

 CREATE TABLE [dbo]. [Student] (
  [StudentID] int IDENTITY (1,1) NOT NULL,
  [StudentName] varchar (50) COLLATE Latin1_General_CI_AI NULL,
  [StandardId] int NULL,
  [RowVersion] timestamp NOT NULL,
  CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED ([StudentID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY],
  CONSTRAINT [FK_Student_Standard] FOREIGN KEY ([StandardId]) REFERENCES [dbo]. [Standard] ([StandardId]) ON DELETE CASCADE ON UPDATE NO ACTION
)
ON [PRIMARY]

    当我在 WPF 框架应用程序中执行相同操作时,Student 类出现在“添加新数据源”窗口中。
我这样做:
 - 创建了一个 WPF 框架应用程序;
 - 创建Model ADO.NET EDM
 - 在文件中DBModel.tt替换:
 - 行 - 296 替换ICollectionObservableCollection;
 - 行 - 484 替换ICollectionObservableCollection;
 -- 第 51 行替换HashSetObservableCollection;
 - - 行 - 431 替换System.Collections.GenericSystem.Collections.ObjectModel;
 - Menu Project//“添加新数据源”;
 - 结果:课程Student在场;
在此处输入图像描述 在此处输入图像描述

4

1 回答 1

2

今天也碰到这个了。使用 WPF 框架应用程序添加数据源有效,但使用 WPF Core 应用程序添加数据源不起作用。我发现有人在 19 年 7 月提交了一个问题 https://github.com/dotnet/wpf/issues/1196。他们认为并非所有功能都可以与核心一起使用。

于 2020-01-11T01:21:59.713 回答