Entity framework Can';t在Xamarin.Android应用程序的EF Core 3.1.2中创建SqlParameter

Entity framework Can';t在Xamarin.Android应用程序的EF Core 3.1.2中创建SqlParameter,entity-framework,xamarin.forms,xamarin.android,.net-core-3.1,ef-core-3.1,Entity Framework,Xamarin.forms,Xamarin.android,.net Core 3.1,Ef Core 3.1,我有一个Android Xamarin.Forms项目。它取决于具有EF核心代码(SQL Server)和目标.Net标准2.0的Db项目。两个项目都在一个解决方案中 使用EF Core 2.2.6,一切正常。当我切换到EF Core 3.1.2时,该项目不再工作 我对其进行了以下修改: 我添加了Microsoft.Data.SqlClient 1.1.1nuget项目参考,并使用命名空间Microsoft.Data.SqlClient而不是System.Data.SqlClient 将DbS

我有一个Android Xamarin.Forms项目。它取决于具有EF核心代码(SQL Server)和目标.Net标准2.0的
Db
项目。两个项目都在一个解决方案中

使用EF Core 2.2.6,一切正常。当我切换到EF Core 3.1.2时,该项目不再工作

我对其进行了以下修改:

  • 我添加了
    Microsoft.Data.SqlClient 1.1.1
    nuget项目参考,并使用命名空间
    Microsoft.Data.SqlClient
    而不是
    System.Data.SqlClient
  • DbSet.FromSql
    调用替换为
    DbSet.FromSqlRaw
当我创建
SqlParameter
并尝试访问它时,我得到一个错误

例如,当我运行以下代码时:

try
{
    var sqlParam = new SqlParameter("aaa", "bbb");
    var value = sqlParam.Value; // exception thrown here
} 
catch (Exception ex)
{
    Debug.WriteLine($"Exception: {ex.GetType()}");
    Debug.WriteLine($"Message: {ex.Message}");
    Debug.WriteLine($"StackTrace: {ex.StackTrace}");
}
我收到以下错误消息:

异常:System.NullReferenceException
消息:对象引用未设置为对象的实例
StackTrace:位于Microsoft.Data.SqlClient.SqlParameter.get\u值()[0x00000],位于E:\SqlClientInternal\agent-1\u work\5\s\src\Microsoft.Data.SqlClient中 etcore\ref\Microsoft.Data.SqlClient.cs:1222
在[0x00012]英寸厘米处:100

当刚刚分配了
sqlParam
并且我想查看它的值时,我在Visual Studio中获得以下视图:

我使用Visual Studio 2019,我尝试了16.3.4,目前最新版本为16.4.6


如何解决这个问题?我的代码有什么问题?

基于
SqlParameter(“aaa”、“bbb”)
和您的错误消息,请确保您的表中有
aaa
列,您可以参考此链接了解此类的用法:@LeonLu MSFT
SqlParameter(“aaa”、“bbb”)
仅用于测试,没有
aaa
列。但是
SqlParameter
实例与特定的表无关,我认为在上面的示例中,拥有
aaa
列并不重要。无论如何,对于用于调用存储过程的参数的正确值,我得到了相同的错误。一切都在
EF Core 2.2.6
中工作,但在切换到之后立即停止工作。
EF Core 3.1.2
。“aaa”只是为了简单起见