という名前のテーブルにレコードを挿入しようとしていますTest
。LINQ テクニックを使用しています。
問題はtime
、テーブルに のタイプの列があることですが、テーブルTime(7)
にデータを挿入しようとすると、次のエラーが発生します。
Operand type clash: bigint is incompatible with time
これはtest
SQLでの私のテーブルデザインです:
C# での私のテーブルの実装:
[Table(Name = "Test")]
class TableTest
{
private int _id;
[Column(IsPrimaryKey = true, Name = "id", Storage = "_id")]
public int id
{
get { return _id; }
set { _id = value; }
}
private TimeSpan _time;
[Column(Name = "time", Storage = "_time")]
public TimeSpan time
{
get { return _time; }
set { _time = value; }
}
}
ここで、レコードを挿入しようとします:
DataContext dc = new DataContext(@"Data Source=.;Initial Catalog=DBTest;Integrated Security=True");
private void button1_Click(object sender, EventArgs e)
{
TableTest t = new TableTest();
t.id = 1;
t.time = new TimeSpan(7, 30, 0);
Table<TableTest> t_insert = dc.GetTable<TableTest>();
t_insert.InsertOnSubmit(t);
dc.SubmitChanges(); // error Here !!!!!
}
私はどこでも検索しました。私が見つけたのは、Time()
私が使用すべきSQLタイプをマッピングすることだけでしTimeSpan
た。私が間違っていることを教えてください! ありがとう