Entity Framework Core在完整的.NET中是否可用?

8
有没有办法在完整的 .Net Framework 控制台应用程序中实现 Entity Framework Core?

据我所知,EF Core支持.NET Core 1.0.1+(或者是1.0?)和.NET Framework 4.5.1+... - Adriano Repetti
可能是重复的问题:https://dev59.com/FmrXa4cB1Zd3GeqPDdzM - NikxDa
@Sampath,您提供的链接是用于在.NET Core上使用EF Core(而不是在完整的.NET Framework应用程序上)。 - nam
@NikxDa,你提供的链接EF Core有什么关系?那个链接是关于使用EF而不是EF Core的。 - nam
@nam 这个帖子已经三年半了,所以我不确定它是否还有很大的意义。 - NikxDa
显示剩余2条评论
1个回答

5

首先,您需要使用完整的.NET框架创建控制台应用程序, 其次,使用包管理器控制台安装这些软件包:

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

现在您需要创建您的模型和上下文。
namespace ConsoleEfCore
{
    class Program
    {
        static void Main(string[] args)
        {
            MyContext db = new MyContext();
            db.Users.Add(new User { Name = "Ali" });
            db.SaveChanges();
        }
    }
    public class MyContext : DbContext
    {
        public DbSet<User> Users { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=.;Database=TestDb;Trusted_Connection=True;");
        }
    }
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

那么只需要使用这个命令即可。
Add-Migration initial

然后您需要更新数据库以创建该内容。

Update-Database

运行项目,您将看到用户将插入到您的数据库中


2
对我不起作用。 安装包。 我得到了这个错误:无法安装软件包'Microsoft.EntityFrameworkCore.SqlServer 2.1.0'。您正在尝试将此软件包安装到针对'.NETFramework,Version = v4.6'的项目中,但该软件包不包含与该框架兼容的任何组件引用或内容文件。有关更多信息,请联系软件包作者。 - Jaider
似乎 Microsoft.EntityFrameworkCore.SqlServer 1.1.5 或更低版本支持 .NET 4.5+,但不支持 EF 2.0.0+。 - Jaider
在这个示例代码中,连接字符串是硬编码的。创建迁移时是否有方法指示 EFCore 从配置文件中读取连接字符串? - Little Endian
2
EF-Core 3x 是基于 .NET Standard 2.0 编译的,兼容 .NET 4.8。但是 EF-Core 5x 是基于 .NET Standard 2.1 编译的,不再兼容 .NET 4x:https://github.com/dotnet/standard/issues/859 - VahidN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接