加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在azure上发布时列名无效

发布时间:2020-12-15 22:14:48 所属栏目:百科 来源:网络整理
导读:您好我在azure上发布了一个应用程序.当我尝试访问BookDetail页面时,我收到InvalidColumn“Borrowed”错误.在具有PhoneNumber和Password列的UserDetail页面上也会发生同样的事情. 这是BookDetail getmethod public IQueryableBook GetBook([QueryString("Book
您好我在azure上发布了一个应用程序.当我尝试访问BookDetail页面时,我收到InvalidColumn“Borrowed”错误.在具有PhoneNumber和Password列的UserDetail页面上也会发生同样的事情.

这是BookDetail getmethod

public IQueryable<Book> GetBook([QueryString("BookID")] int? BookID)
    {
        var _db = new WebApplication1.Models.LibraryContext();
        IQueryable<Book> query = _db.Books;
        if (BookID.HasValue && BookID > 0)
        {

            query = query.Where(p => p.BookID == BookID);
        }
        else
        {
            query = null;


        }

        if (query == null || query.Count() == 0)
        {


            inputUserBorrow.Visible = false;
            inputUserBorrowButton.Visible = false;

        }
        return query;
    }

这是我的模特

namespace WebApplication1.Models
{
public class LibUser
{

    [Key]
    public int UserID { get; set; }

    [Required,StringLength(50),Display(Name = "First Name")]
    public string UserFirstName { get; set; }

    [Required,Display(Name = "Last Name")]
    public string UserLastName { get; set; }

    [Required,StringLength(100),Display(Name = "Street"),DataType(DataType.Text)]
    public string Adress { get; set; }

    [Required,StringLength(20),Display(Name = "Phone Number"),DataType(DataType.Text)]
    public string PhoneNumber { get; set; }

    public string Password { get; set; }




}

public class Book
{

    [Key]
    public int BookID { get; set; }

    public string Title { get; set; }

    public string Author { get; set; }

    public DateTime Published { get; set; }

    public bool Borrowed { get; set; }

    public Book() {
        Borrowed = false;
    }
}



public class Borrowed
{
    [Key]
    public int BorrowID { get; set; }

    public int UserID { get; set; }

    public int BookID { get; set; }

    public string BookTitle { get; set; }

    public DateTime Due { get; set; }

}

}

这是我的上下文文件

namespace WebApplication1.Models
{
public class LibraryContext : DbContext
{

    public LibraryContext()
        : base("LibraryContext")
    {
    }

    public DbSet<LibUser> LibUsers { get; set; }
    public DbSet<Book> Books { get; set; }
    public DbSet<Borrowed> Borrows { get; set; }

}
}

堆栈跟踪

[SqlException (0x80131904): Invalid column name 'Borrowed'.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction) +1787814
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Action`1 wrapCloseInAction) +5341674
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose) +546
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean& dataReady) +1693
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
   System.Data.SqlClient.SqlDataReader.get_MetaData() +90
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString) +377
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,Boolean returnStream,Boolean async,Int32 timeout,Task& task,Boolean asyncWrite,SqlDataReader ds) +1421
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method,TaskCompletionSource`1 completion,Boolean asyncWrite) +177
  System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method) +53
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method) +137
   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41
   System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) +10
   System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t,DbCommandInterceptionContext`1 c) +9
       System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target,Func`3 operation,TInterceptionContext interceptionContext,Action`3 executing,Action`3 executed) +72              System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command,DbCommandInterceptionContext interceptionContext) +356
      System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior) +166
   System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) +10
   System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior) +37

当我将我的应用程序发布到azure并在azure服务上使用新数据库时出现此问题.
非常感谢您的帮助.

解决方法

我今天下午遇到了同样的问题.花了大约2个小时的重新部署并尝试新的迁移.关闭和打开App Service对我来说是个窍门.

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读