我正在创建一个用于管理权限的库。库公开创建、附加、绑定、更新、删除权限和权限组的多个方法。
这是GitHub 项目链接
它使用SQLServer和一些预定义的表来存储这些表。它使用EFCore 5
现在我的问题是,如果我提供了依赖于EFCore的库。我的最终用户是如何解决这些问题的?
发布于 2021-01-31 13:44:35
我从未试图通过NuGet自己提供解决方案,但我率先使用了.Net身份框架.
如果他从NuGet安装它--他怎么能在里面运行迁移呢?因此,所需的表将在他的DB上创建。他能以图书馆为目标在PM上运行更新数据库吗?
迁移是基于模型和目标数据库之间的差异。因此,NuGet包的使用者将针对您的DbContext (配置为使用他们自己的数据库)并生成他们自己的迁移,这将是封装在DbContext中的模型与它们的数据库表之间的区别。我不认为“内部迁移”的概念应该是相关的。
如果它是一个NuGet库,我如何允许他从安装它的项目中传递一个连接字符串。我知道如何通过这样的传递指向一个库项目,这是同样的需要吗?这需要他安装任何单独的EFCore相关的库吗?
我认为您的项目所依赖的所有库都将与NuGet包一起自动安装。是的,它们应该能够配置您的上下文:
services.AddDbContext<PermissionContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("JetTask"),
});如果他已经在使用另一个ORM,比如Dapper,那么他还需要安装任何其他依赖项来运行我的库,因为它依赖于EFCore吗?或者主库在安装NuGet时是否安装依赖项组件?
非常肯定的是,如上所述,依赖项将与NuGet包一起安装。
如果我处于您的位置,我将创建NuGet包,然后创建一个新项目,安装NuGet包,并“体验消费者的生命”,以确定任何问题。
https://stackoverflow.com/questions/65977809
复制相似问题