EF Core FromSqlRaw - 以下方法之间的调用不明确

问题描述 投票:0回答:1

我一直在使用 EF 7 Core for SQL Server,最近又添加了 EF 7 Core for Cosmos DB。

但是,安装 EF Core Cosmos 提供程序后,我收到此错误。

错误 CS0121 以下方法或属性之间的调用不明确:'Microsoft.EntityFrameworkCore.RelationalQueryableExtensions.FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet, string, params object[])' 和 'Microsoft.EntityFrameworkCore.CosmosQueryableExtensions.FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet, string, params object[])'

两种扩展方法都使用相同的命名空间 Microsoft.EntityFrameworkCore,因此,我无法通过指定命名空间来解决此问题。

除了使用命名空间之外,还有其他方法可以选择使用哪种扩展方法吗?

c# .net entity-framework
1个回答
0
投票

我刚刚找到了一个解决方法。以前,我将它们用作这样的扩展方法。

context.Set<ABC>().FromSqlRaw("select a from b");

但我意识到我可以像常规方法一样使用扩展方法。

RelationalQueryableExtensions.FromSqlRaw(context.Set<ABC>(), "select a from b")

CosmosQueryableExtensions.FromSqlRaw(context.Set<ABC>(), "select a from b")

这样,我就可以选择使用哪种扩展方法,即使它们具有相同的命名空间。

感谢您的评论 Cid。

© www.soinside.com 2019 - 2024. All rights reserved.