[英]Object must implement IConvertible
描述:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其源自代碼的位置的更多信息。
異常詳細信息:System.InvalidCastException:Object必須實現IConvertible。
來源錯誤:
Line 20: public ActionResult Index()
Line 21: {
Line 22: var feeds = (from f in _db.AlertRules.Include("AlertRuleOutages")
Line 23: select f).ToList();
Line 24:
堆棧跟蹤:
[InvalidCastException: Object must implement IConvertible.]
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +9508841
MySql.Data.Entity.EFMySqlDataReader.ChangeType(Object sourceValue, Type targetType) +376
MySql.Data.Entity.EFMySqlDataReader.GetValue(Int32 ordinal) +129
System.Data.Common.Internal.Materialization.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal) +215
lambda_method(Closure , Shaper ) +468
System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly(Func`2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet) +218
lambda_method(Closure , Shaper ) +218
System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper) +170
System.Data.Common.Internal.Materialization.RowNestedResultEnumerator.MoveNext() +235
System.Data.Common.Internal.Materialization.ObjectQueryNestedEnumerator.TryReadToNextElement() +16
System.Data.Common.Internal.Materialization.ObjectQueryNestedEnumerator.MoveNext() +57
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +327
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
數據庫DDL:
CREATE TABLE alertruleoutage
(
Id INT NOT NULL auto_increment,
RuleId INT NOT NULL,
StartTime TIME NULL DEFAULT 00:00:00,
EndTime TIME NULL DEFAULT 23:59:59,
WeekDays TINYINT NULL,
Count INT NULL,
TimeFrame TIME NULL DEFAULT 01:00:00,
PRIMARY KEY (Id),
KEY RuleId (RuleId),
CONSTRAINT RuleId FOREIGN KEY (RuleId) REFERENCES alertrule (Id)
);
CREATE TABLE alertrule
(
Id INT NOT NULL auto_increment,
FeedId INT NOT NULL,
TemplateId INT NOT NULL,
Enable BIT (1) NULL DEFAULT b'1',
`Rule` VARCHAR (250) NULL,
UpdateDateTime TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (Id),
KEY AlertFeedId (FeedId),
KEY AlertTemplateId (TemplateId),
CONSTRAINT FK_AlertFeedId FOREIGN KEY (FeedId) REFERENCES feed (Id),
CONSTRAINT FK_AlertTemplateId FOREIGN KEY (TemplateId) REFERENCES alertruletemplate (Id)
);
POCO型號:
[Table("AlertRuleOutage")]
public class AlertRuleOutage
{
[Key]
public int Id { get; set; }
public int RuleId { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
//public Week WeekDays { get; set; }
public int? Count { get; set; }
public DateTime? TimeFrame { get; set; }
public virtual AlertRule Rule { get; set; }
}
[Table("AlertRule")]
public class AlertRule
{
[Key]
public int Id { get; set; }
public int FeedId { get; set; }
public int TemplateId { get; set; }
public bool? Enable { get; set; }
public string Rule { get; set; }
public DateTime? UpdateDateTime { get; set; }
public virtual Feed Feed { get; set; }
public virtual AlertRuleTemplate Template { get; set; }
public virtual List<AlertRuleOutage> AlertRuleOutages { get; set; }
}
db上下文:
public DbSet<AlertRule> AlertRules { get; set; }
public DbSet<AlertRuleOutage> AlertRuleOutages { get; set; }
AlertRuleOutage
數據類型錯誤
mysql Time
應映射到.NET TimeSpan
:
public TimeSpan? StartTime { get; set; }
另見: http : //www.devart.com/dotconnect/mysql/docs/DataTypeMapping.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.