2015-05-27 4 views
4

Здравствуйте, у меня есть приложение, опубликованное на лазурной. Когда я пытаюсь подключиться к странице BookDetail, я получаю ошибку InvalidColumn "Borrowed". То же самое происходит на странице UserDetail со столбцом PhoneNumber и Password.Недопустимое имя столбца при публикации на azure

Вот 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, StringLength(50), 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, Boolean breakConnection, 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, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +1421 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +177 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, 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. Ваша помощь будет оценена по достоинству.

+0

У вас есть открытое свойство в вашем 'Book' класса под названием' Borrowed', который является логическим, и класс 'Borrowed'. Переименуйте один из них и повторите попытку. –

+0

Это не объясняет, почему он говорит о недопустимом столбце для столбца PhoneNumber и Password при доступе к таблице LibUser. –

+0

При переименовании в IsBorrowed он говорит, что IsBorrowed является недопустимым столбцом. –

ответ

0

У меня была такая же проблема сегодня днем. Проведя около 2 часов перераспределения и проработки новых миграций. Превращение приложения в приложение было сделано для меня.

enter image description here

Смежные вопросы