[SQL Server] Update datetime2 column does not work

オープン
#573 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
fsharp, sql
領域
databases

調査の方向性

ソースファイルもテストも指定されていません。まず、示されている SqlTypeProvider クエリと SubmitUpdates 呼び出しを使って SQL Server 2016 のケースを再現し、その後、datetime2(7) の代入がどのように検出され、永続化されるかを追跡してください。既存の行が更新されるか、処理が何も通知せずに完了するのではなく、明確な更新エラーが発生すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Description

I cannot update a row containing a datetime2(7) column in SQL Server.
Updates on other datatypes, for example plain int works well.
Inserts with DateTime into this same table works well.

Repro steps
  • Sql server 2016
  • SqlTypeProvider 1.1.50
type MyDb = SqlDataProvider<ConnectionStringName = "ConnStringInAppConfig", DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER, UseOptionTypes = true>

let ctx = MyDb.GetDataContext()
let entityToUpdate = query { from e in ctx.Dbo.MyTable do where (e.Id = myId) select e }
e.ValidFromDate <- new DateTime(2018, 08, 08)
ctx.SubmitUpdates()
Expected behavior

The column is updated, or else an error is raised that it could not be updated.

Actual behavior

Silently finishes, nothing is updated. No "pendingchanges" remain.

Known workarounds

Delete row and recreate it.

Related information
  • SQL Server 2016
  • Client on Win10, server on Windows Server 2012
  • Latest released version on nuget
  • NET Framework 4.6.1
主要言語
F#
スター
627
フォーク
147
平均マージ
2時間 2分
マージ済み PR(30日)
1

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fsprojects/SQLProvider のほかの issue

fsprojects/SQLProvider の issue をすべて見る

似ている issue

Databases の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。