問題タブ [nullable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Linqのnull許容型をSQLと比較する
NullableParentIdフィールドを持つCategoryエンティティがあります。以下のメソッドが実行中で、categoryIdがnullの場合、結果はnullのように見えますが、ParentId値がnullのカテゴリがあります。
ここの問題は何ですか、私は何が欠けていますか?
ちなみに、条件を(c.ParentId == null)に変更すると、結果は正常に見えます。
c# - NHibernate 2.0.1 の Nullable DateTime
すぐに明らかになる可能性が高い2つの問題ですが、私はすでにそれらを追跡するのにあまりにも長い時間を費やしてきました:
次のように使用される IAuditable インターフェイスを実装するエンティティに対して自動監査を行うために、AuditInterceptor をセットアップしました。
public class AuditInterceptor : EmptyInterceptor { public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types) { var auditable = entity as IAuditable;
}
この 2 つのフィールドは、データベース、POCO、およびマッピング ファイルで両方とも null を許容しません。ただし、保存時に、インターセプターが呼び出されている間 (インターセプターをステップ実行して、該当するフィールドが DateTime.Now に設定されていることを確認できます)、まだ SqlDateTime 例外がスローされています。
SqlDateTime オーバーフロー。1753 年 1 月 1 日午前 12:00:00 から 9999 年 12 月 31 日午後 11:59:59 までの間である必要があります
以前に、DateTime が null で指定されているものと指定されていないものがある場所 (マッピング ファイル、データベース、POCO) の不一致がある場所でこれを見たことがあります。しかし、私はチェックしましたが、その面ではすべて問題ありません。SaveOrUpdate(entity) の前に値を手動で設定でき、問題なく挿入/保存されます。手動で設定しないと、インターセプターが完全に見逃されているかのように機能し (そうではないことはわかっていますが)、2 つの DateTime プロパティが設定されることはありません (したがって、DateTime.MinValue: 01/01/0001 として扱われます...)したがって範囲外です。しかし、ステップスルーすると、値は DateTime.Now に適切に設定されます。
何が起こっている?価値があるのは、以前にもイベントリスナーを実際にセットアップしたことがあり、同じ問題が発生したことです。
- ここで、どこかで答えられたに違いないばかげた質問についてですが、私はそれを見つけることができません: 上記の問題に対処する一環として、DateTime を null 可能にするかどうかをすばやく確認しましたが、重大な変更の 1 つを知っていますNHibernate 2.* との違いは、NHibernate.Nullables がサポートされなくなったことです。したがって、null 許容の DateTime をマップするには、マッピング ファイルで何を使用しますか? タイプ?すなわち:
当然のことながら動作しません:
サポートされなくなりました:
どんなポインタでも大歓迎です!
nhibernate - NHibernate 2.* マッピング ファイル: null 許容の DateTime 型を定義する方法 (DateTime?)?
NHibernate 2.* での重大な変更の 1 つは、NHibernate.Nullables がサポートされなくなったことです。したがって、null 許容の DateTime をマップするには、マッピング ファイルで何を使用しますか? タイプ?すなわち:
当然のことながら動作しません:
サポートされなくなりました:
私はそれがとても明白でなければならないことを知っていますが、私はそれを見つけられません!
答えは簡単です: NHibernate は問題のクラスを反映し、プロパティの反映された型が DateTime であることを発見しますか? すべて独自に。
ありがとう@ジャスティス!
c# - Null可能錯乱
以下はなぜ禁止されているのですか?
一方
ではありません
dataset - データセット フィールド DBNull -> int?
SQLServer int フィールド。値が null の場合もあります。DataAdapter はデータセットを埋めることができ、DatagridView にデータを表示することもできます。
プログラムでデータセットからデータを取得しようとすると、Dataset フィールドの取得コードが StronglyTypedException エラーをスローします。
getアクセサーでDBNullをチェックしてnullを返すことでこれを乗り越えましたが...データセット構造が変更されると(まだ開発中)、私の変更は(当然のことながら)なくなりました。
この状況を処理する最善の方法は何ですか? データセットレベルでそれを扱うことに行き詰まっているようです。自動コード ジェネレーターに変更をそのまま残すように指示できる何らかの属性はありますか?
sql - NOT NULL 列をどの程度リベラルにする必要がありますか?
データベース スキーマを設計していますが、各列が必要かどうかを決定するためにどの基準を使用すればよいnullable
か考えています。
アプリケーションにとってまったく意味を成すために、行に絶対に入力する必要がある列のみを NOT NULL としてマークする必要がありますか?
または、null にならないようにする予定のすべての列をマークする必要がありますか?
少数の NOT NULL 列と多数の NOT NULL 列のパフォーマンスへの影響は何ですか?
NOT NULL 列が多いと挿入が少し遅くなると思いますが、クエリ実行プランジェネレーターには列に関するより多くの情報があるため、実際には選択を高速化する可能性があります..
私よりも知識のある人が私にローダウンを与えることができますか?
oracle - 複数の列を制約して重複を防ぎ、null 値を無視するにはどうすればよいですか?
これは、Oracle データベース (10g) で実行した小さな実験です。(オラクルの)実装の利便性は別として、一部の挿入が受け入れられ、他の挿入が拒否される理由がわかりません。
いくつかの列の値が不明な行が時々あることが理にかなっていると仮定すると、重複の防止に関連する 2 つの使用例が考え
られます。 1. 重複を拒否したいが、制約された列の値が不明な場合は受け入れたい
2. 制約された列の値が不明な場合でも、重複を拒否したい。
ただし、明らかに Oracle は別のものを実装してい
ます。
ユースケース (2) に到達するために Oracle の実装を利用する方法を考えることができます。しかし、ユースケース(1)に到達する方法がわかりません。
つまり、どうすれば Oracle をこのように動作させることができるでしょうか?
c# - Nullable の違いは何ですか.HasValue または Nullable!= ヌル?
Nullable<>.HasValue
セマンティクスが好きだったので、いつも使用していました。ただし、最近、私は他の誰かがNullable<> != null
代わりに独占的に使用していた既存のコードベースに取り組んでいました。
どちらか一方を使用する理由はありますか、それとも純粋に好みですか?
- /li>
対。
- /li>
c# - Null 可能な合計を使用した Linq クエリ
私はこのクエリを取得しましたが、例外で投票が見つからない場合は失敗します:
sum が nullable int ではなく int を返し、sum に int を与えるためだと思いますか? 入力でのみ同じエラーが発生するため、おそらく sum は int でのみ機能します。
これに対する良い回避策はありますか?