如何解决亲爱的先生们,我无法让 OrderStateMachine 生成 MSSQL 数据库架构
我是第一次使用 Masstransit,无法使我的下垂保持持久。遵循记录的传奇示例(EF Core):https://masstransit-project.com/usage/sagas/efcore.html
生成初始迁移失败,我对 EF 和大众运输都很陌生,我迷路了。 看起来像 DI 找不到正确的 DbContextOptions
PM> dotnet ef 迁移添加 InitialCreate -c OrderStateDbContext 构建开始... 构建成功。 无法创建类型为“OrderStateDbContext”的对象。有关设计时支持的不同模式,请参阅 https://go.microsoft.com/fwlink/?linkid=851728
- MassTransit.EntityFrameworkCore v7.1.7
- Microsoft.EntityFrameworkCore.SqlServer v5.0.4
- Microsoft.EntityFrameworkCore.Design v5.0.4
代码;
collection.AddMassTransit(x =>
{
x.AddSagaStateMachine<OrderStateMachine,OrderState>()
.EntityFrameworkRepository(r =>
{
r.ConcurrencyMode = ConcurrencyMode.Pessimistic; // or use Optimistic,which requires RowVersion
r.AddDbContext<DbContext,OrderStateDbContext>((provider,builder) =>
{
builder.UseSqlServer(connectionString,m =>
{
m.MigrationsAssembly(Assembly.GetExecutingAssembly().GetName().Name);
m.MigrationsHistoryTable($"__{nameof(OrderStateDbContext)}");
});
});
});
public class OrderStateDbContext :
SagaDbContext
{
public OrderStateDbContext(DbContextOptions options)
: base(options)
{
}
protected override IEnumerable<ISagaClassMap> Configurations
{
get { yield return new OrderStateMap(); }
}
}
感谢任何帮助
邓肯
解决方法
首先,您正在阅读旧的 v6 文档(为 v6 上的文档保留)。您应该引用 current documentation。
其次,我认为这两种类型没有任何问题,上下文应该在程序集中可用。有关工作示例,请查看 ForkJoint。
它单独注册 DbContext 并在 saga 存储库中使用该 DbContext,但它应该以任何一种方式工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。