我有一个包含3个属性的模型:
public class SomeModel
{
[Key]
public int SomeInt { get; set; }
public string SomeString { get; set; }
public TimeSpan Time { get; set; }
}
如果我尝试将这样的模型添加到我的SQLite数据库中,则会抛出异常。
using (var db = new MyDataContext())
{
var item = new SomeModel { SomeInt = 123, SomeString = "a string" , Time = new TimeSpan(1,2,3)};
db.SomeModels.Add(item);
try
{
db.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.ReadLine();
throw;
}
}
例外:
System.NotSupportedException: "There is no store type corresponding to the EDM type 'Edm.Time' of primitive type 'Time'."
有没有办法将此模型添加到数据库?
答案 0 :(得分:1)
我建议使用integer
代替TimeSpan
字段,例如:
public Int64 TimeSpanTicks{ get; set; }
[NotMapped]
public TimeSpan Time
{
get { return TimeSpan.FromTicks(TimeSpanTicks); }
set { TimeSpanTicks= value.Ticks; }
}