Sau khi nâng cấp lên Entity Framework 6, chúng tôi đã triển khai DbExecutionStrategy của riêng mình. Ngoài hiện tại, SqlAzureExecutionStrategy chiến lược của chúng tôi cũng ghi lại các ngoại lệ. Khi bật ra, mỗi 15-30 phút Khung thực thể ném nội bộ SqlException System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'CreatedOn'.
Đó là lỗi nội bộ. Có vẻ như EF thực hiện kiểm tra thường xuyên nếu cột CreatedOn tồn tại trên một số bảng. Có cách nào thanh lịch để ngăn chặn ngoại lệ này được ném không?CreatedOn column trong Entity Framework 6
Đây là một cuộc gọi stack:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, ref Boolean dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, ref Task task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, ref Task task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(Func`1 operation, TInterceptionContext interceptionContext, Action`1 executing, Action`1 executed)
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
Tôi cũng nhận được lỗi này. –
Bản sao có thể có của [Entity Framework 4.3. Tên cột không hợp lệ 'CreatedOn'] (http://stackoverflow.com/questions/12193465/entity-framework-4-3-invalid-column-name-createdon) – AXMIM
"_... kiểm tra nếu cột CreatedOn tồn tại trên ** một số ** table._ "Bạn có thể sử dụng lược tả SQL từ SQL Server Management Studio để tìm hiểu SQL EF đang gửi tới máy chủ của bạn. Trong trường hợp của tôi, tôi thấy 'CHỌN TOP (1) [c]. [CreatedOn] AS [CreatedOn] FROM [dbo]. [__ MigrationHistory] AS [c]', làm rõ rằng nó có liên quan đến EF phiên bản không phù hợp. –