X



.Net Core / Net ASP Core [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん垢版2016/06/30(木) 03:45:41.80ID:EQd6Pds5
おらの群馬さにはIISなんてねえもんでりなっくすさ使ってしぃしゃーぷさ動かすべえな
こんなの動くなんておったまげえな時代だわな

んだいくべえ
0378デフォルトの名無しさん垢版2018/02/06(火) 22:06:09.44ID:Sf4AdKgB
>>377
アマゾンでは紙本だったよ
0380デフォルトの名無しさん垢版2018/02/07(水) 03:10:06.91ID:PMKzxqpw
ASP.NET MVC の 知識ってほとんどそのまま、.net core MVC で通用すると考えていいのかな?
0382デフォルトの名無しさん垢版2018/02/07(水) 13:16:27.18ID:Dhak1qt/
>>379
大丈夫
0383デフォルトの名無しさん垢版2018/02/10(土) 00:32:08.18ID:Iv+szGNR
スキャホールディングしなくても、それが出力するようなコードを、
モデルと、DbContextに自分で全部書き起こせば、
データベーステーブルでテーブルの結合したやつでも得られるんだろうか。

データベースでリレーションの設定をしていないので、スキャホールディングでテーブル結合反映されないため、
自分でコードを記述しようと思っているんです。
データベース側は既存のプログラムとの連携が壊れたら困るのでいじりたくありません。。
0384デフォルトの名無しさん垢版2018/02/10(土) 06:53:12.80ID:KnoefXX3
業務系は複雑怪奇なレガシーDBの呪縛があるからEFとの相性が最悪
SQLを手で書いてDapperでマップするのが正解だよ
0386デフォルトの名無しさん垢版2018/02/10(土) 11:53:53.43ID:Iv+szGNR
>>385
壊してもいいデータベースで開発してから、
それを本番のデータベースで運用する予定

>>384
Dapperについて調べてみます。
ストアドプロシジャとパラメーターがつかえたらいいんだけどなあ
0388デフォルトの名無しさん垢版2018/02/10(土) 17:39:31.77ID:Iv+szGNR
>>387
ありがとうございます
0389デフォルトの名無しさん垢版2018/02/11(日) 15:30:58.53ID:NLXiui3Z
Dapperでは、SQLやストアドプロシジャの結果行に対応したモデルクラスに、
マッピングできるのだとわかってきました。

自分のところのストアドプロシジャでは、テーブルにはない新しい列が登場したり、列の名称が付替られたりするので、
ストアドプロシジャの結果行に対応した専用のクラスをいちいち作成しようと思いました。

ストアドプロシジャでは最終的に、SELECT文で出力したい列が列挙されています。
対応するクラスのプロパティー名(日本語)と列名(日本語)を一致させておけば、
列挙の順番は関係ないでしょうか。
0391デフォルトの名無しさん垢版2018/02/11(日) 15:53:15.39ID:QgiY6BS8
>>389
そうだよ
基本的に名前を見比べて1行と1オブジェクトに変換してくれるだけ
変換ルールのカスタマイズも出来るけど保守性がよくないから避けたほうがいい
0392デフォルトの名無しさん垢版2018/02/11(日) 21:30:20.43ID:NLXiui3Z
>>391
レスありがとうございます!

既存のストアドプロシージャーを使って、
テストコードを試してみたいと思います。
結果をマッピングできるのはとても便利ですね。
ありがとうございます!
0393デフォルトの名無しさん垢版2018/02/11(日) 23:27:37.20ID:NLXiui3Z
>>390
列名が日本語で書かれているんですよ。

select ID,名称 from ほにゃらら

みたいな感じでデータを引っ張って来る必要があるので、
マッピングするC#クラスのプロパティーも、こういうのに合わせる必要があるわけなんです。

日本人なら分かり易いというメリットはあるんですが、
システム上の互換性でいつか面倒なことにならないかと心配しますね。
0395デフォルトの名無しさん垢版2018/02/12(月) 08:53:13.20ID:BsV1rQ8t
>>394
ありがとうございます。

なるほど、そうすれば英語表記のモデルクラスが使えるということですね。
日本語クラス名、プロパティー名で結構だというのなら、使う必要はないという理解でいいのかな?

ところでこれは、DBContextの、関連付けとちょっと似ていますね。
メソッドチェーンしながら、ラムダ式を与えて、エンティティーの定義を行っていました。
0396デフォルトの名無しさん垢版2018/02/12(月) 08:55:15.61ID:BsV1rQ8t
>>391さんのおっしゃる、
”変換ルールのカスタマイズも出来るけど保守性がよくないから避けたほうがいい”
というのは、この>>394さんのおっしゃっているカスタマイズのことなんだろうね。
0397デフォルトの名無しさん垢版2018/02/12(月) 09:05:51.69ID:Bk9VmC4X
sqlのasを使うと簡単だね
ただoracleだとasしても英訳した列名が30文字に収まらない場合がある

DBの物理的な制約を気にしたくないなら
DTOからドメインオブジェクトにマップする時に物理名を論理名に変換すればいいよ
DTOは日本語を含んでよい
ドメインオブジェクトは日本語を含まない
変換処理はC#で手作業で書く
DapperでDTOを取得して変換処理に流し込む
0398デフォルトの名無しさん垢版2018/02/12(月) 10:06:28.69ID:BsV1rQ8t
>>397
>変換処理はC#で手作業で書く
>DapperでDTOを取得して変換処理に流し込む

これは、どういうことですか?
Dapperはドメインオブジェクト(モデルクラス)に行データを自動的に変換してくれるものだと理解してます。

そして、必要なら、日本語の列名を、クラスの英語名のプロパティ名に変換するために、>>394さんの方法を使うのですね。

Dapper自体と、DTOとの区別がわかりません。
いったん取得した行データの日本語名プロパティを含むクラス型を、完全英語名のクラス型に値をプロパティごとにC#でコピーするということでしょうか?
0399デフォルトの名無しさん垢版2018/02/12(月) 11:47:11.65ID:Bk9VmC4X
DapperはSQLの結果セットをDTOにマッピングしてくれるだけ
DTOからドメインオブジェクトへのマッピングは別途用意しなければならない
DTOとドメインオブジェクトを同一視してマッピングを省くことは可能だけど
それをやるとドメインオブジェクトが歪な構造になるのでオススメしない
0400デフォルトの名無しさん垢版2018/02/12(月) 11:52:36.00ID:BsV1rQ8t
>>399
>DTOとドメインオブジェクトを同一視
0401デフォルトの名無しさん垢版2018/02/12(月) 12:16:20.63ID:BsV1rQ8t
>DTOとドメインオブジェクトを同一視

自分はその同一視をしていたのかもしれない。これは、アプリの設計に深く関わる問題ですね。
ドメイン駆動アプリ?だかの参考書を読んでいたときのことを思い出しました。
でも知識を使う前に、すっかり忘れていました。


最初、こんなつもりでした。
例えばこんな感じで、モデルクラスを定義して、
自分の場合、データベースの日本語列名に合わせて、日本語のプロパティー名で定義して、

public class 人間
{
public int Id { get; set; }
public string 名前 { get; set; }
}

そして、
SQL Server → Dapper →「人間クラス」
(こうして、人間クラスに行データがマッピングされる。だから、「人間クラス」がDTOでいいのかな。)

で、
ControllerのActionメソッドとかから、この「人間クラス」のオブジェクトにアクセスして、
Viewなりに渡そうとしていました。

ああ、これでは同一視になりますよね。

つづく↓
0402デフォルトの名無しさん垢版2018/02/12(月) 12:17:48.80ID:BsV1rQ8t
>DTOからドメインオブジェクトへのマッピングは別途用意しなければならない

SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」

なるほど。>>397でおしゃっていたことが理解できたかも。

DTOまでは、日本語名のクラス名やプロパティーでもOkなわけですね。
しかし、ドメインオブジェクトという形に、変形してアプリに統一性を持たせるべきで、
そのときに(ついでに)、英語に統一すればいいというわけなのか。

もし、私の理解が間違っていなければ、目から鱗でした!
ありがとうございます。もう一度、設計のための参考書を開いてみたいと思います。
勉強したことを使わないうちに、どんどん忘れてしまう。。。。

しかし、こうして、
日本語名から英語名への統一でも、ドメインオブジェクトという考え方が役に立つんですねえ。

ありがとうございます。
0403デフォルトの名無しさん垢版2018/02/12(月) 12:53:34.77ID:GfEZnF0r
>>402
DTOからドメインオブジェクトへの変換は一パターンとは限らない
だからDapperからDTOにマッピングする時点で、c#の規約に沿った形のクラス/プロパティ名にしておくと便利
じゃなきゃAutoMapperすら使えないし
0404デフォルトの名無しさん垢版2018/02/13(火) 13:00:12.61ID:iaxO17aK
>>403
どこで、日本語名の列を、英語名のプロパティーに変換するかという問題なんですよね。


SQL Server→Dapper→「人間クラス(DTO)」→→(変換)→→「ドメインオブジェクト」

SQL Server→Dapper→→(変換)→→「人間クラス(DTO)」→ ※ →「ドメインオブジェクト」


ところで、AutoMapperは、上記の※の位置に来るという理解で正しいでしょうか。
0407デフォルトの名無しさん垢版2018/02/13(火) 22:00:43.94ID:JC9fn+CH
>>405
var p = new 人間();
var n = p.名前;

こんな感じなのは、普通ってことでしょうか?
0409デフォルトの名無しさん垢版2018/02/13(火) 22:25:03.46ID:YVR14H+q
カスタムルールはメンテナーがカスタム手順わからなくて困るパターン
手動マッピングなら5分で書けるのにルール設定がわからず1時間ハマりっぱなしとかよくある
0410デフォルトの名無しさん垢版2018/02/14(水) 00:25:23.19ID:ZUhxPQA+
>>409

>>404のように、
DTOとドメインオブジェクトとのあいだで、
手動変換するということですね
0411デフォルトの名無しさん垢版2018/02/16(金) 06:17:18.75ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0412デフォルトの名無しさん垢版2018/02/17(土) 13:05:06.90ID:suX8xbj+
Oracle has updated its .NET Core statement of direction. http://www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-ef-core-sod-4395108.pdf

tl;dr
https://t.co/Zn0Rz2SBM2 Core production in CY Q3 2018. EF Core beta shortly after targeting same quarter.
https://twitter.com/OracleDOTNET/status/964631730220023808
https://twitter.com/OracleDOTNET/status/964632656725008384 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
0420デフォルトの名無しさん垢版2018/03/07(水) 10:21:49.84ID:CXvHai5s
warn: Microsoft.AspNetCore.Server.Kestrel[22]
Heartbeat too longer than "00:00:01" at "03/07/2018 10:00:00 +00:00"

こんな警告が出るんだけどどういう意味?
解決方法教えて
0423デフォルトの名無しさん垢版2018/03/07(水) 20:39:20.58ID:CXvHai5s
>>421-422
色々と洗ってみたけどダメでした
再現性もなくログには不定期に出力されてるからKestrel側の問題なのかな
でもありがとう
0424デフォルトの名無しさん垢版2018/03/08(木) 08:01:24.98ID:d+RhIWam
>>423
そっかあ。
個人的に気になるインシデントなので、
もし進展があって気が向いたら書き込んでくれると嬉しいです。
0425デフォルトの名無しさん垢版2018/03/14(水) 05:54:49.37ID:lJWHeXYc
VS2017で、.net core 2.0 をつかっていたんだけど、
2.1 SDK を入れてみた。
でも、プロジェウト作成で、選べない。
どうすればいい?
0428デフォルトの名無しさん垢版2018/03/14(水) 07:10:01.79ID:nU+HZj40
>>426
無理、外にいるから
0429デフォルトの名無しさん垢版2018/03/14(水) 07:30:08.10ID:nU+HZj40
自己レス


https://github.com/dotnet/core/issues/1131


There is no .NET Core 2.1.2. Thats the SDK version. I believe the 2.2 SDK is the one that currently supports .NET Core 2.1 targeting.

なんか、何のバージョンかわからなくなってきた。

sdkのバージョンと、
ランタイムのバージョンがあるのか。

ややこしい。

.net coreランタイムのバージョンが、2.1にならないと、vsで、2.1 のテンプレートが使えないってことかな?
新しいクラスの追加とか、高速化とか、期待していたのになあ。

sdkのバージョンが、2.1 になって何かメリットあるのか?
0431デフォルトの名無しさん垢版2018/03/14(水) 07:53:10.33ID:nU+HZj40
自己レス



https://jonhilton.net/2017/04/17/making-sense-of-the-different-versions-of-net-core-runtime-and-sdk/


The latest SDK (at the time of writing) is 2.1.4.

This is the SDK that goes alongside .NET Core 2.0.5 (you don’t need to download the runtime separately, you can just grab this SDK and it will install everything).


勘違いしていたなあ。
ランタイムは2.0のまま変わらない。

だから、vsのテンプレートで、2.1が選べないわけか。

考えあっている?
0433デフォルトの名無しさん垢版2018/03/14(水) 08:01:01.88ID:nU+HZj40
>>432
ちがう!
同じ疑問を持つ人のために情報共有
0434デフォルトの名無しさん垢版2018/03/14(水) 08:05:29.32ID:qzzm58fG
>>431
SDKは、global.jsonで指定しない限りインストールされている最新のものが使われる。
だからそもそも何がしたいのかい?
0435デフォルトの名無しさん垢版2018/03/14(水) 09:32:41.43ID:nU+HZj40
>>434
vs2017と、去年八月に登場した.net core 2.0sdkを組み合わせたら、.net core2.0アプリを作成できるようになった。.net core2.0アプリの テンプレートを選べるようになった。
同じように、.net core sdk2.1.4のインストールで、 .net core2.1のアプリが作成できるようになると思ったが、どうやら違うらしいとわかったわけです。
0436デフォルトの名無しさん垢版2018/03/14(水) 09:36:28.07ID:nU+HZj40
sdkを刷新して、2.1.4にしたら、
何か新しいクラスライブラリの恩恵を受けられるのですか?ランタイムは、2.0.4のままで?
0437デフォルトの名無しさん垢版2018/03/14(水) 09:38:58.63ID:nU+HZj40
vs2017と、.net core sdkとの関係がわかりません。
sdkとランタイムは違うのですよね。
sdkって、クラスライブラリを含んでいるのかな?
0439デフォルトの名無しさん垢版2018/03/14(水) 11:38:32.51ID:qzzm58fG
.NET Core2.1はプレビュー版しか出てないよ
ASP.NET Core2.1を使いたいなら、Visual Studio自体もプレビュー版じゃないとだめ
0440デフォルトの名無しさん垢版2018/03/14(水) 21:46:46.70ID:lJWHeXYc
>>439
ありがとうございます。ちょっとわかってきました。
SDK 2.1.4をインストールしたのに、VS2017で、.net core 2.0のテンプレしか選択できなかったのは、当然だったんですね。

>>438
読みます。

https://docs.microsoft.com/en-us/dotnet/core/versions/

There are lots of moving parts that version independently in .NET Core.
However, starting with .NET Core 2.0, there is an easy to understand top-level version number
that everybody understands to be the version of ".NET Core" as a whole.


本当は、.net core は複数のパーツから成り立っていてそれぞれバージョンが設定されるのに、
それが登場したときには、まとめてバージョン2.0という設定をやったので、
皆に誤解を与えたというわけだな。
0441デフォルトの名無しさん垢版2018/03/14(水) 21:54:40.04ID:lJWHeXYc
でも、バージョンの付け方が、今度からがらっと変わるらしいね。

The version scheme is changing in future releases.
You can see the current proposal at the dotnet/designs repository.

https://github.com/dotnet/designs/pull/29

ガーデニングしてそうな女性がバリバリに働いているんだな。> MS
0443デフォルトの名無しさん垢版2018/03/15(木) 12:13:33.66ID:IGJGSkrv
総合テストをしようとnew TestServerしてserver.Host.Services.GetService<xxx>()しようとすると
System.InvalidOperationException : No service for type 'xxx' has been registered. とエラーが出て困ってます
デバックでは問題なく起動していてnew TestServerに使うWebHostBuilderは同じものを使用してUseContentRoot()を変更しています
原因が分からないのでどなたか解決策を教えてください
0444デフォルトの名無しさん垢版2018/03/18(日) 17:15:56.59ID:nkjx7Ns6
public class Startup
{
public Startup(IConfiguration configuration, IHostingEnvironment environment)

システムによって、自動的に、IHostingEnvironment environment は取得できるけど、
普通のユーザーメソッド内で、IHostingEnvironment environment を取得するか、
生成することってできるでしょうか。

IHostingEnvironment environment の内容を知りたいんですが、
Startupに手を加えたくないわけです。
0446デフォルトの名無しさん垢版2018/03/19(月) 07:53:36.02ID:xMcXtX4S
>>445
インターフェイスなので実体化できません。
このインターフェイスを実装するクラスってあるんでしょうか。
そして、任意のタイミングでそれを実体化したときに、
適切に初期化されるんでしょうか。
0447デフォルトの名無しさん垢版2018/03/19(月) 12:33:40.06ID:2HRPdOVd
>>446
実装クラスはFramework側で勝手にInjectしてくれてるから、どこでも普通にDIコンテナからとれるよ?
0448デフォルトの名無しさん垢版2018/03/19(月) 18:49:45.82ID:evPyLj3/
>>447
c#の経験は少しあるのですが、
.net coreなどの最新の技術には疎いです。
どのようにして、インスタンスの参照を得られるのか、
コードで示して貰えると幸いです。

Programクラスに、静的メンバを設けて、それを経由で、アクセスしょうかと考えていたところです。
0450デフォルトの名無しさん垢版2018/03/21(水) 11:08:07.65ID:yOhpRYak
class MyClass : IMyClass {
private IHost... h;
public MyClass(IHost... h) }
this.h = h;
}
public void MyMethod() {
h.xxx;
}
0457デフォルトの名無しさん垢版2018/04/29(日) 13:59:27.01ID:CplRDOUs
linuxのdotnet-sdk-2.1.105でまともに使えるSQLiteのnugetライブラリってどれよ
Microsoft.EntityFrameworkCore.SqliteはFileIOExceptionで起動しないし
Microsoft.Data.Sqliteはメモリリークしまくるし
0459デフォルトの名無しさん垢版2018/04/29(日) 21:20:03.12ID:ntMe/HR9
>>458
457です、レスありがと
MS.EFCore.Sqliteを使った時のスタックトレースはこれ
Windowsの2.1.104だと問題なく動く

Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly
'System.Linq.Expressions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
中止 (コアダンプ)
0460デフォルトの名無しさん垢版2018/05/12(土) 11:00:45.01ID:pDgCeBjY
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903

ttps://goodpatch.com/blog/sketch-plugins/
0461デフォルトの名無しさん垢版2018/05/16(水) 18:59:25.01ID:dIN+KNFd
dotnet coreってPInvokeのマーシャリングルールどうなってんの
処理系のエンディアンとかちゃんと気にしないとあかん?
0462デフォルトの名無しさん垢版2018/05/23(水) 19:38:39.36ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

A2A58
0463デフォルトの名無しさん垢版2018/05/24(木) 06:46:56.23ID:Br/n3f+P
ASP Core MVCでdll作ってサーバにアップした後、
特定のコントローラーの処理だけ変えたい場合はまた同じ手順を繰り返し?
初回アクセスで高負荷になるしPHPみたいになんとかならないの?
0465デフォルトの名無しさん垢版2018/05/24(木) 07:42:37.84ID:Br/n3f+P
ならないんだ
webって頻繁に更新があるものだしその度に毎回これじゃ使えないね
ASPに未来あるの?
0468デフォルトの名無しさん垢版2018/05/24(木) 07:50:46.08ID:Br/n3f+P
dllを更新してdotnetをrestart
初回アクセスでCPU100%
その後各ページの初回アクセスにも20-30%の負荷が掛かってる
これで使えると思う方が間抜けでは?
ちな環境はLinux Kestrel
0474デフォルトの名無しさん垢版2018/05/24(木) 08:32:20.04ID:Br/n3f+P
ゴミサーバーでもPHPなら問題なく動くけど?
ゴミサーバーじゃなくてもちょっとした更新の度に負荷が掛かってるのは事実であってはっきり言って使えない
■ このスレッドは過去ログ倉庫に格納されています

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