ふらっと C#,C♯,C#(初心者用) Part146

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 9f0b-Fgt1)
垢版 |
2019/12/11(水) 22:12:11.28ID:d09CciDz0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
911デフォルトの名無しさん (アウアウウー Sa9b-WggA)
垢版 |
2020/02/11(火) 00:12:43.21ID:FSEIJRHXa
>>905
例えば>>909-910みたいな変なの。

ちょっと前新型コロナの話題が出てたけどあれと同じだよ。
日本人は目的合理性ではなく気が済むかどうかで意思決定しがち。
日本人はこういうところ韓国人と完全に同じだね。

ワッチョイに推進論者が意図するようなプラスの効果なんか期待できないことは自明だ。
そのくせに意図せざる負の効果だけはしっかり存在する。

これ言うと荒れるかもしれないが、ワッチョイ推進論者は匿名掲示板で
「他人が何者か特定した気にならないと気が済まない」ストーカー気質の変な少数者だが、
本人たちにその自覚はない。
912デフォルトの名無しさん (ワッチョイ d735-oJhu)
垢版 |
2020/02/11(火) 00:24:53.99ID:HEmsPZVy0
ワッチョイみて、なんだまたアイツか。って安心するんだろ
913デフォルトの名無しさん (ワッチョイ 9f6a-56gX)
垢版 |
2020/02/11(火) 01:47:11.53ID:O1nniQPu0
>>911
負の効果なんてないだろ
自演できなくて悔しいですって正直に言えば賛成してやらんでもないぞ
2020/02/11(火) 02:30:39.04ID:P5jh7Ggu0
>>905
自作自演しにくいでしょうが!
2020/02/11(火) 08:10:47.80ID:UM7DBn99a
レス番飛んで変な流れになってると思ったら謎理論を展開してる人が
意図せざる負の効果とかかっこいいこと言ってるけど
ワッチョイでNGされちゃうことで構ってくれる人が減るのが嫌なだけでしょ
2020/02/11(火) 08:43:38.48ID:STnJqlOX0
自作自演できた方がメリット大な理由
デメリットにならないか等kwsk
917デフォルトの名無しさん (ワッチョイ bf66-QQjh)
垢版 |
2020/02/11(火) 09:16:27.39ID:RZk53+g00
jsonの配列の行数が欲しくて以下のようなコードを書いたのですが

var jsonlist = DynamicJson.Parse(@"{""a"":1, ""b"":2}");
int cnt = 0;
foreach(var json in jsonlist)
{
cnt++;
}

jsonlist.Count()的な端的な書き方はあるでしょうか?
918デフォルトの名無しさん (アウウィフ FF9b-VM48)
垢版 |
2020/02/11(火) 13:16:19.82ID:KtXysiBKF
ここの荒れっぷりを観るとワッチョイ有って便利だとつくづく思う
https://egg.5ch.net/test/read.cgi/software/1550845068/
919sage (ワッチョイ ff02-QQjh)
垢版 |
2020/02/11(火) 21:31:13.81ID:Ewfd3Otp0
>>917
ちらっと見た限りDynamicJsonってDynamicObject派生の独自の実装みたいだから
クラス作った人に聞くしかないのでは?

http://neue.cc/2010/04/30_256.html
2020/02/11(火) 21:41:40.77ID:3nYIWZatM
Dynamicに物故んだだけみたいだからcount取れるんだろうか?
2020/02/11(火) 21:41:40.83ID:P5jh7Ggu0
>>919
ソース見れるよ
https://github.com/neuecc/DynamicJson/
2020/02/11(火) 22:24:57.84ID:v/oRLdRM0
DynamicJsonはIEnumerableで返してるから無理っぽいね

JsonDocumentでParseしてGetArrayLength()
https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsondocument?view=netcore-3.1
https://www.nuget.org/packages/System.Text.Json/
2020/02/11(火) 22:44:21.66ID:kqe2ZtVl0
無理ですか
メソッドチェーンで1行で書けたら綺麗だなと思っていましたが地道にカウントします
ありがとうございます
2020/02/11(火) 22:48:58.27ID:3nYIWZatM
いやいやいや
一行で書きたいなら自分で何でも書けばいいだけだろうw
2020/02/11(火) 22:50:04.90ID:v/oRLdRM0
そういう要望ならToList()すればいいのでは?
2020/02/11(火) 23:06:04.07ID:gyjqP0lja
DynamicJSONは実用品というよりPOCで、今時誰も使ってないよ
デファクトスタンダードはJSON.NETで、LINQもdynamicも使える
2020/02/11(火) 23:08:02.92ID:3nYIWZatM
と言うのが古い認識です
2020/02/11(火) 23:47:04.21ID:H7ejfPaYd
俺もjson.netだな
2020/02/12(水) 00:19:48.97ID:rDGykg1a0
json.netはデファクトスタンダード感あるな
他だとsystem.jsonとかutf8jsonとかが代替じゃないのかな
2020/02/12(水) 03:21:12.67ID:EzkrgFvF0
たまにminijson使っちゃう
2020/02/12(水) 04:56:26.09ID:1hZ4lR9d0
>>923
リンク先のサンプルで配列に変換してたからそれでやんのがいいかもね
試してないから出来るのか知らん
((dynamic[])jsonlist).Length
2020/02/12(水) 10:32:34.34ID:w04clBR40
Json.NETって何だ、自分はNewtonsoft.JSONしか使ったことないけど大丈夫かと思ったら前者がライブラリ名、後者が名前空間名で同じものか、焦ったわ
2020/02/12(水) 10:34:51.51ID:mj8QFo9s0
jsonライブラリで一番メジャーなのってNewtonsoft.Jsonじゃないの?
Json.Netがこれのことか?
パフォーマンス的には>>921の人が作ったutf8Jsonが世界最強らしいが
2020/02/12(水) 12:13:24.49ID:25nTHRNQ0
utf8jsonは早いのかもしれないけど、publicメンバじゃないとダメとか
依存ライブラリが多いとかちょっと使い勝手がな。。

あと全体に言えるけど、
DateTime型をそのままJSONに変換したときに、JSONマッパ毎に結果が異なるのはどうにかならないかな
2020/02/12(水) 12:37:02.94ID:yEPI658rr
元々のjavascriptに準拠してないんだよな
jsで読み込めないのにJSONと言い張るなよとw
2020/02/12(水) 15:00:35.67ID:wWj3ojieM
>>933
Newtonでおけ
2020/02/12(水) 19:26:15.08ID:J+lwLLR4d
>>933
Newtonsoft.Json==Json.Net
2020/02/12(水) 20:32:47.74ID:seLTTpXD0
listの一部要素を切り出したい時ってインデックスの指定以外で早い方法ある?
要素100で0~8,3~21,10~30,50~61,~~みたいに切り出すとして切り出す長さは事前に与えられるケース

getRangeはコピーつくるみたいなので除外して、skipとtakeはどうなんだろと調べてみたらどうにも結果が安定しない
skipは先頭からn個目まで一気にスキップするわけではなくて、順番に数えてn個までの要素を跳ばしてるのかな
2020/02/12(水) 20:44:32.50ID:ytylQgpT0
JSONは既にJavaScriptの仕様から乖離してるからな。
53bitを超える整数リテラルはJSONでは合法だがJSでは読めるとは限らない。
940デフォルトの名無しさん (アウアウウー Sac3-+wK4)
垢版 |
2020/02/12(水) 20:58:26.58ID:dQ+MgkrDa
>>938
ないのでは?
あくまでIEnumerable前提の実装だから非効率なのは仕方ないよね。
分かってるだろうけどそれが気に入らないなら自分で書けばいいだけなわけで
2020/02/12(水) 21:23:01.24ID:l05i3q7zM
structで作ってメモリコピーという荒業が…
942デフォルトの名無しさん (ワッチョイ ff35-uDFW)
垢版 |
2020/02/12(水) 21:29:06.10ID:CnJeTJ1J0
IEnumerableって順序ないのにSkipの説明には「シーケンス内の指定された数の要素をバイパスし、残りの要素を返します」って書いてるけどシーケンスって順序決まった列じゃないの?
2020/02/12(水) 21:34:16.23ID:t47o0dPHM
それは単なる使う側の問題では?
その都度乱数を返すIEnumerableとかあったとしてもシーケンスとして扱うことは可能
再現性がないだけで
2020/02/12(水) 22:21:27.16ID:39kCYFWR0
>>938
MoreLinqのSlice<T>はListならインデックスアクセスするよう最適化されてる
https://github.com/morelinq/MoreLINQ/blob/master/MoreLinq/Slice.cs

真似して自分でSliceList定義すれば?
2020/02/12(水) 22:49:54.10ID:d7YXngVH0
スライスリストってかっこいいな
2020/02/12(水) 23:47:21.81ID:seLTTpXD0
>>944
こんなのあるんだなあ。ありがとう
むしろこっちの書き方に混乱した
> sequence is IList<T> list

C#7からできるようになったみたいだけど、これのメリットって変数のスコープを限定できるって理解でいい?
947デフォルトの名無しさん (ワッチョイ ff35-uDFW)
垢版 |
2020/02/13(木) 00:08:03.05ID:uK7heoRi0
>>943
IEnumerableを継承してるコレクションもシーケンスだったのか
コレクションというくらいだからおもちゃ箱のおもちゃみたいなグチャグチャな塊のイメージだった
2020/02/13(木) 00:34:22.49ID:naQLfQn80
>>938
arrayに変換できるならspanでアクセスするのが早いんじゃないかな?
spanができて飛び飛びのインデックスへのアクセスが多いケースでは問題なければarrayでことが増えた
2020/02/13(木) 00:46:57.66ID:+Aqu6VGA0
>>946
型チェックとnullチェックとキャストが同時にできる
キャスト結果がコンパイラによって保証されている
2020/02/13(木) 01:14:35.75ID:njwtr9+20
範囲アクセスの新しい構文できたよね
list[0..5]、list[5..10]、list[a..a+5]で5個ずつ抜き出し
使ったことないけど
2020/02/13(木) 01:49:45.90ID:r7bSHOfr0
>>946
パターンマッチで一発でできるのがメリットでそれ以外は副産物じゃないかな

if (sequence is IList<T> list) {
return list[5..];
}

IList<T> list;
if (sequence is IList<T>) {
list = (IList<T>)sequence;
return list[5..];
}
と同じイメージで変数スコープはちょっと特殊
2020/02/13(木) 01:58:34.59ID:29zvuXGOa
>>946
asと同じく、型チェックが1回で済むからisキャストに比べてちょっとだけ速い
2020/02/14(金) 17:41:03.02ID:IZamEETxd
enumの比較をvbで書いたら違う型なのに真になった
なんじゃこりゃ

c#は問題ない
2020/02/14(金) 18:28:00.59ID:MYdX36hLr
>>953
VBには暗黙の型変換があるから
2020/02/14(金) 18:41:24.16ID:AIitx2itd
おお、ありがとう
暗黙変換禁止すればいいのかな
2020/02/14(金) 18:43:32.04ID:35QeCoo80
なぜvbスレじゃないのか
957デフォルトの名無しさん (アウアウウー Sac3-+wK4)
垢版 |
2020/02/14(金) 19:02:11.32ID:7R4aPKWba
Option Strictは関係ないみたいね。
たぶんenumの型(intかshortかbyteか)で比較するんだろう。
別にそれでもいい気がする。
個人的にはC#の参照型の==演算子は既定で参照を比較する方が気持ち悪いと思うw
実装されてなければコンパイルエラーでよかったのに
958デフォルトの名無しさん (ワッチョイ efda-GrpO)
垢版 |
2020/02/17(月) 13:08:35.25ID:x0CaePxl0
WinFormsのTreeViewで、CheckBoxの代わりにRadioButtonを使いたいのですが、
それらしい設定を見つけきれません。

どう設定すればよいのでしょうか?
2020/02/17(月) 13:10:56.08ID:AsvyPM/w0
ownerdraw
2020/02/17(月) 22:08:17.03ID:dzSo2/zk0
element host使ってwpfのlist view使うのが一番楽だと思う
961デフォルトの名無しさん (ワッチョイ 975f-SbTe)
垢版 |
2020/02/18(火) 22:43:14.29ID:DxyDMMqU0
DBに接続するときに以下のようなContextがあるとしてMyEntities1、MyEntities2、MyEntities3のテーブルにデータが追加されているかをtimerを回してデータCountが変わっているか調べて追加されています。

これをデータが追加されたときのみでよいのですが、削除、変更等があったときにイベントを発生されることってできますか?

public partial class MyContext: DbContext
{
public MyContext(DbConnection connection) : base(connection, false)
{
}

public virtual DbSet<MyEntities1> MyEntities1 { get; set; }
public virtual DbSet<MyEntities2> MyEntities2 { get; set; }
public virtual DbSet<MyEntities3> MyEntities3 { get; set; }
}
2020/02/18(火) 23:05:48.43ID:9xbWknqa0
DBによってはEVENTを通知する仕組みがある
仕組み以外でもtriggerとかも使える

まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
MyContext内部とかそのラッパーとかでeventを発火させれば済む
2020/02/18(火) 23:12:15.02ID:0qGjhB4R0
DBMS_PIPEかな?
db2とかOracleなら
2020/02/18(火) 23:19:02.38ID:NTzSIrcU0
MyEntitiesにイベント実装するだけじゃないのか
独自イベントでもいいし、INotifyPropertyChangedでもいいかもしれん
965デフォルトの名無しさん (ワッチョイ 975f-SbTe)
垢版 |
2020/02/18(火) 23:29:55.78ID:DxyDMMqU0
>>961
情報が足りなかったすみません

対象のDBはSQL Server2000です
これにデータを追加しているアプリと
データが追加されているかを監視したいアプリは別なのですが可能でしょうか?
966デフォルトの名無しさん (ワッチョイ 975f-SbTe)
垢版 |
2020/02/18(火) 23:35:16.65ID:DxyDMMqU0
後、変えられるのは監視したいアプリ側だけで
DBと 追加しているアプリは変えられないです。
2020/02/19(水) 00:10:09.35ID:N9gqFXA+0
軽量でない処理を行ってその処理の内容次第で適切な区分値を返すメソッドがあるとすると
メソッド名はどんな感じにするべきですか?

つまりGetHogeKubunのようにGetをつけるのが簡単ですが、
軽量でない処理を呼び出すときはGetをつけないほうがいいという話がありますよね?
私はプロパティ構文のある.NETの場合は、
Getという文言がついているからといって軽量な処理を想定しないと思って
別に適切な命名が思いつかなければ軽量でない処理でもGetを使ってきたのですが、
その考えもどうなんだろうと思ってきました。

みなさんはどうしてますか?
2020/02/19(水) 00:12:52.45ID:2IDaZuEtr
処理の内容を英文で頭につければいいいよ
計算してるのか通信してどこかから取得してるのかで違うでしょ?
2020/02/19(水) 00:19:22.70ID:7DzKXr/O0
処理が重いとか軽いとかでメソッド名は変えないな
非同期にするとか仕組みでカバーすることはあるかもしれないけど
2020/02/19(水) 00:21:14.61ID:2IDaZuEtr
英語の解釈

getは、基本的に置いてある物などを入手する場合に使われます。
努力をしないで物を得る時に使われる事が多いです。口語として一般的に使われています。
2020/02/19(水) 00:24:20.76ID:2IDaZuEtr
Getはすでに計算してある結果などを取る感じ

じゃあ計算はどこでやっててどこに入れてあるのかなあと考える
2020/02/19(水) 00:25:53.50ID:N9gqFXA+0
>>968-971
ありがとうございます
イメージがついてきました
2020/02/19(水) 00:49:18.60ID:GM7mImOk0
>>965
DBへの変更はできない、DBを更新してるアプリの変更はできない、かつSQL Server 2000という条件で
データの追加・更新・削除を検知したいってことでいいのかな?

そういう検知ができるようにテーブル設計されてなければ正攻法では無理
カラム追加するなりストアド使うなりバージョン上げるなりするほうが早いし安上がり
2020/02/19(水) 01:08:57.84ID:nQPwUMQ20
クラサバ型のアプリなんだけど
サーバー側からイベントが欲しいって言ってんじゃね?

クライアント100台全部に通知ほしい?
また、その電文は投げっぱなしのジャーマンじゃなくて応答が欲しい?
凝ったことするときはレンサバでなければサーバー側にサービスとか動かして実現することが多いかな?
俺の経験だと
975デフォルトの名無しさん (アウアウウー Sae7-icJa)
垢版 |
2020/02/19(水) 01:12:39.27ID:9hl10qC/a
>>967
>軽量でない処理を呼び出すときはGetをつけないほうがいいという話
これは聞いたことないね

MSのガイドラインではプロパティのゲッターに重い処理を書いてはいけないとなってたと思うけど、
(つまりGetXXX形式にしろ)それを聞き間違えたんじゃないか。

もちろん例外はあると思うけど、メソッド名が十分適切に「何をするメソッドか」を表現できていれば、
普通はそれが重いかどうかだいたい想像がつくのでは?

まあ、非同期メソッドにしたら軽くないことは嫌でも伝わるね
2020/02/19(水) 10:20:36.95ID:2IDaZuEtr
効いたことないなら調べろよと
2020/02/19(水) 12:35:15.24ID:/KKpt7jl0
967が独自で見聞きしたとくに重要とも思えない、間違っていそうな情報を調べるとか時間の無駄でしかないな
2020/02/19(水) 15:02:50.04ID:2IDaZuEtr
いやいやメソッドの命名法則の基本中の基本でしょ?
2020/02/19(水) 15:06:48.11ID:uQe4y4Pa0
基本なのにいつまで経っても議論が絶えないめんどくさい話
IDEのリファクタリング機能が優秀になったおかげで修正が楽だから結構適当につけて後から気に入らなかったら直すスタイルになった
命名で悩む時間が減ったら作業効率あがる
980デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
垢版 |
2020/02/19(水) 15:39:25.68ID:cGULNOoWF
string[] a = new string[]{"a","b","c"};
に対して
System.Array.Reverse(a);
でaそのものが反転してSystem.Array.Reverse(a)は戻り値がありませんが
a.Reversed() で戻り値が反転した Array で元の中身は変えない
みたいになるメソッドってありますか?
2020/02/19(水) 16:00:07.98ID:GM7mImOk0
a.Reverse().ToArray()
982デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
垢版 |
2020/02/19(水) 16:29:59.82ID:cGULNOoWF
引数 0 を指定するメソッド 'Reverse' のオーバーロードはありません。

って出るんだけど何が変なのかな
2020/02/19(水) 16:34:12.36ID:TvNfUAFk0
using System.Linq;
984デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
垢版 |
2020/02/19(水) 16:53:50.20ID:edMDbkMkF
ありがとう
お詫びに脱ぎます
985デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
垢版 |
2020/02/19(水) 17:01:40.22ID:edMDbkMkF
980踏んだのでついでに御相談なのですが

ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
ここの次スレ (Part147 ?) は立てた方が良いのでしょうか?
既に
ふらっと C#,C♯,C#(初心者用) Part141
https://mevius.5ch.net/test/read.cgi/tech/1544838367/
というスレもあるようですが重複なので放置なのか使い切った方が良いのかどっち?
2020/02/19(水) 17:08:59.58ID:c1iFkMHs0
そっちはワッチョイなしのスレ こっちはワッチョイありのスレで別物よ
だからスレ立ての時に気を付けてね
987デフォルトの名無しさん (エムゾネ FF1f-HF0o)
垢版 |
2020/02/19(水) 17:27:06.99ID:IsrGexiaF
ふらっと C#,C♯,C#(初心者用) Part147
https://mevius.5ch.net/test/read.cgi/tech/1582100741/
2020/02/19(水) 19:31:48.47ID:/KKpt7jl0
>>978
命名規則なんてチーム開発での決め事でしかないんだから周り合わせりゃいいだけ
一人で作ってんなら好きにすりゃいい
そんなもんだろ

っで時間がかかる時にGetを付けるかどうかとか決め事にするほどでもない内容だわ
データ書き換えしてるとかならわかるけど
989デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
垢版 |
2020/02/19(水) 19:46:09.06ID:fm92UHAO0
>>962>>964
timerを回して下のようにデータ件数を取得して比較する
増えていたら必要な処理をおこなうぐらいしか思いつかないんですが
MyContext内の監視の仕方を教えてくれませんか

using (var context = new MyContext(connection))
{
datacount1 = context.MyEntities1.Count;
datacount2 = context.MyEntities2.Count;
datacount3 = context.MyEntities3.Count;
}
//比較処理
Proc(datacount1 ,datacount2 ,datacount3)


>>973>>974
既製品が既製品のDBにInsartだけしていて情報を表示する既製品のアプリもあるのですが
DBにアクセスはできるので情報を表示する既製品のアプリを別に作りたいなと思っています

>>そういう検知ができるようにテーブル設計されてなければ正攻法では無理
これはどんな感じに設定されているのでしょうか?インデックスの最大値を検知とか?
2020/02/19(水) 19:55:29.18ID:Jcw8mEdu0
トリガー作って監視用のテーブルに
情報を描きこむ。

DML トリガーでggr
2020/02/19(水) 20:21:28.78ID:BEiBw7Bx0
それが正攻法やなあ
更新時に通知するのが一番良いけど、そこは触れなそうだし、フックポイントを用意してる気の利いた作りでも無さそうだし

何が問題で、精度や頻度やデータ件数すらわからんので、禄なアドバイスできんが
C#要素薄いし
2020/02/19(水) 20:50:13.78ID:8xnvzjDzr
sqlserver2000には誰もつっこまないのか
10年近く前にサポート切れてるだろ
2020/02/19(水) 20:53:26.25ID:BEiBw7Bx0
どう見ても案件的にいろいろ終わってそうだからねえ
泥縄過ぎる気配
2020/02/19(水) 21:41:53.11ID:GM7mImOk0
>>989
>Proc(datacount1 ,datacount2 ,datacount3)
え? その3つの比較なの?
もうワケワカメ
995デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
垢版 |
2020/02/19(水) 21:47:53.23ID:fm92UHAO0
基本的にDML トリガー等でDB側に用意しておくものだってことか・・・

>>991
既製品のDBアプリはいじれないので
必要なtableのデータをsqlserver2010からsqlserver2019データを移動させるつもりなのですが
ほとんどのtableは1分に一回ぐらいチェックして別のDB入れるで十分だけど一部のtableはInsertされたらすぐに別のDBに入れたい
そうなると1秒間隔でtimer回して>>989のような処理ってどうなんだ・・・?tableは100ぐらいでレコード件数多いのは100万あるので
timer回さなくてもMyContextが自動でデータ変化をチェックできるようなもっといいやりかたない?って疑問があったので質問してました

>>962
>>まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
これが気になるんだけど変更を一律で監視ってレコード件数とかなのだろうか


>>994
>>Proc(datacount1 ,datacount2 ,datacount3)
前回のレコード件数と比較して変わってたら2019に移動のつもりで書いていました
2020/02/19(水) 22:04:05.84ID:nHKkxEMo0
>>995
無茶苦茶じゃねえか。
1秒間隔で100万超のレコードのcount取るとか、既存アプリとやらが使えなくなるレベルでパフォーマンス落ちると思うぞ。
2020/02/19(水) 22:25:12.19ID:GM7mImOk0
>>995
なんでDBContextの話をしてたのかやっと理解できた
DBContextがデータベース側の変更を自動で検知するとかは無理
楽観的同時実行制御みたいな機能はあるけど求めてるものとは違う

DB移行で新旧オンラインのまま
一部テーブルを同期させたいというユースケースなら
トリガーよりも先にレプリを考えるな

詳しくはDB板で聞けば
2020/02/19(水) 22:34:34.71ID:c1z4lMBX0
EntityFrameworkならSaveChangesをoverrideしちゃえばできるんじゃね?
あんま読んでないけど
999デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
垢版 |
2020/02/19(水) 22:39:28.51ID:fm92UHAO0
>>996
やっぱりそうなっちゃうかな

>>997
変更を自動で検知は無理か
レプリケーション調べてみます

ありがとう!
1000デフォルトの名無しさん (ワッチョイ ff6a-Nz9x)
垢版 |
2020/02/20(木) 00:18:43.15ID:C2E41YSR0
1000ならC#死亡
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 70日 2時間 6分 32秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況