Я опытный php разработчик и пытаюсь освоить Microsoft Entity Framework. Моя серверная база данных Oracle, и я использую ODP. Net в качестве соединения. Я установил VS2019 Community и прорабатываю несколько уроков.
Я пытаюсь добиться того, чтобы моя библиотека C# (DAL) работала хорошо с моим C# winforms проекты. Мой DAL - это проект *. 1078 * Standard 2.0, а мои проекты winforms: NET Framework 4.7.2. Мое решение настроено следующим образом.
- C# Решение
- Проект 1 - C# Библиотека (DAL) -. NET Стандарт 2.0
- Nuget Зависимости
- Microsoft.EntityFrameworkCore.Design (2.2.6)
- Microsoft.EntityFrameworkCore.Tools (2.2.6)
- Oracle .EntityFrameworkCore (2.19.60)
- Project 2 - C# Winforms -. NET Framework 4.7.2
- Nuget Dependencies
- Microsoft.EntityFrameworkCore (2.2.6)
- Oracle .EntityFrameworkCore (2.19.60)
- Oracle .ManagedDataAccess.Core (2.19.60)
Кодовые фрагменты кода находятся в DAL (проект 1)
DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseOracle(@"<myConnString>");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration(new PlatePurchaseOrderConfiguration());
}
public DbSet<PlatePurchaseOrder> LtPurchaseOrders { get; set; }
}
ModelConfiguration
class PlatePurchaseOrderConfiguration : IEntityTypeConfiguration<PlatePurchaseOrder>
{
public void Configure(EntityTypeBuilder<PlatePurchaseOrder> builder)
{
builder.HasKey(t => t.Id);
}
}
Модель
public class PlatePurchaseOrder
{
public int Id { get; set; }
public bool IsExpeditied { get; set; }
public DateTime ExpectedReturnDate { get; set; }
}
Это код запуска winforms (проект 2)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var context = new PlatePurchaseOrderContext();
var query = context.LtPurchaseOrders.ToList();
}
}
И после запуска моего кода я получаю сообщение об ошибке
Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.3.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
I команды Надо представить, что я смешиваю проекты и. NET компоненты, вероятно, портят вещи. Есть ли хороший способ обойти это? Что я должен сделать, чтобы правильно настроить это решение?