代码之家  ›  专栏  ›  技术社区  ›  sergtk

无法在Xamarin.Android应用程序的EF Core 3.1.2中创建SqlParameter

  •  0
  • sergtk  · 技术社区  · 5 年前

    我有Android Xamarin.Forms项目。这取决于 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<Entitiy>.FromSql DbSet<Entitiy>.FromSqlRaw

    当我创造 SqlParameter 尝试访问它我得到一个错误。

    E、 g.当我运行以下代码时:

    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:位于E:\ SqlClientInternal\agent-1_work\5\s\src\Microsoft.Data.SqlClient.SqlParameter.get_Value()[0x00000]
    在[0x00012]英寸处。cs:100

    sqlParam 刚刚分配,我想查看它的值,我在Visual Studio中得到以下视图:

    enter image description here

    如何解决这个问题?我的代码怎么了?

    0 回复  |  直到 5 年前
    推荐文章