And*_*s59 3 c# sql-server npoco
这是我第一次尝试使用 NPOCO,我正在尝试读取 MS SQLEXPRESS 数据库
NPOCO“2.2.49”来自 NuGet、SQLEXPRESS 2008 R2、VS 2013、.NET 4.5
连接字符串是
<connectionStrings>
<add name="TrackTime.Properties.Settings.connectionDB" connectionString="Data Source=ame-PC\SQLEXPRESS;Initial Catalog=TrackTime;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
代码是
db = new Database("TrackTime.Properties.Settings.connectionDB");
var tracks = db.Fetch<trackdatum>();
// List<trackdatum> tracks = db.Fetch<trackdatum>();
trackdatum class
using NPoco;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TrackTime
{
[TableName("trackdata")]
[PrimaryKey("trackdata_id")]
[ExplicitColumns]
public partial class trackdatum
{
[Column]
public string trackdata_customer { get; set; }
[Column]
public DateTime trackdata_date { get; set; }
[Column]
public DateTime trackdata_end { get; set; }
[Column]
public int trackdata_id { get; set; }
[Column]
public string trackdata_note { get; set; }
[Column]
public string trackdata_project { get; set; }
[Column]
public DateTime trackdata_start { get; set; }
[Column]
public string trackdata_task { get; set; }
[Column]
public TimeSpan trackdata_worked { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
在这条线上
var tracks = db.Fetch<trackdatum>();
Run Code Online (Sandbox Code Playgroud)
(我也尝试过注释行,结果相同。)
我得到这个例外
System.InvalidCastException was unhandled
HResult=-2147467262
Message=Object must implement IConvertible.
Source=mscorlib
StackTrace:
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at NPoco.PocoData.<>c__DisplayClass19.<GetConverter>b__14(Object src)
at poco_factory_0(IDataReader , trackdatum )
at NPoco.Database.<Query>d__7`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at NPoco.Database.Fetch[T](Sql sql)
at NPoco.Database.Fetch[T](String sql, Object[] args)
at NPoco.Database.Fetch[T]()
Run Code Online (Sandbox Code Playgroud)
剪断...
为什么?我该如何解决它?
// 安德斯
您可能已经解决了这个问题,但问题可能是您正在从数据库中获取具有数据类型的列,并尝试将其映射到C# 类中TIME具有数据类型的属性。DATETIME如果是这样,请将数据类型更改为TIMESPANC# 代码中的数据类型,我相信它应该可以工作。
| 归档时间: |
|
| 查看次数: |
4083 次 |
| 最近记录: |