首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EFCore 5-创建使用EFCore(包括迁移)的库

EFCore 5-创建使用EFCore(包括迁移)的库
EN

Stack Overflow用户
提问于 2021-01-31 10:01:19
回答 1查看 129关注 0票数 2

我正在创建一个用于管理权限的库。库公开创建、附加、绑定、更新、删除权限和权限组的多个方法。

这是GitHub 项目链接

它使用SQLServer和一些预定义的表来存储这些表。它使用EFCore 5

现在我的问题是,如果我提供了依赖于EFCore的库。我的最终用户是如何解决这些问题的?

  1. 如果他从NuGet安装它--他怎么能在里面运行迁移呢?因此,所需的表将在他的DB上创建。他能以图书馆为目标在PM上运行更新数据库吗? PM:\更新-数据库
  2. 如果它是一个NuGet库,我如何允许他从安装它的项目中传递一个连接字符串。我知道如何通过这样的传递指向一个库项目,这是同样的需要吗?这需要他安装任何单独的EFCore相关的库吗? options.UseSqlServer(Configuration.GetConnectionString("JetTask"),services.AddDbContext(options => { =>汇编语言=> });
  3. 如果他已经在使用另一个ORM,比如Dapper,那么他还需要安装任何其他依赖项来运行我的库,因为它依赖于EFCore吗?或者主库在安装NuGet时是否安装依赖项组件?
EN

回答 1

Stack Overflow用户

发布于 2021-01-31 13:44:35

我从未试图通过NuGet自己提供解决方案,但我率先使用了.Net身份框架.

如果他从NuGet安装它--他怎么能在里面运行迁移呢?因此,所需的表将在他的DB上创建。他能以图书馆为目标在PM上运行更新数据库吗?

迁移是基于模型和目标数据库之间的差异。因此,NuGet包的使用者将针对您的DbContext (配置为使用他们自己的数据库)并生成他们自己的迁移,这将是封装在DbContext中的模型与它们的数据库表之间的区别。我不认为“内部迁移”的概念应该是相关的。

如果它是一个NuGet库,我如何允许他从安装它的项目中传递一个连接字符串。我知道如何通过这样的传递指向一个库项目,这是同样的需要吗?这需要他安装任何单独的EFCore相关的库吗?

我认为您的项目所依赖的所有库都将与NuGet包一起自动安装。是的,它们应该能够配置您的上下文:

代码语言:javascript
复制
 services.AddDbContext<PermissionContext>(options =>
 {
     options.UseSqlServer(Configuration.GetConnectionString("JetTask"),
 });

如果他已经在使用另一个ORM,比如Dapper,那么他还需要安装任何其他依赖项来运行我的库,因为它依赖于EFCore吗?或者主库在安装NuGet时是否安装依赖项组件?

非常肯定的是,如上所述,依赖项将与NuGet包一起安装。

如果我处于您的位置,我将创建NuGet包,然后创建一个新项目,安装NuGet包,并“体验消费者的生命”,以确定任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65977809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档