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は、上記の※の位置に来るという理解で正しいでしょうか。
0405デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:41:40.28ID:3CyK4CdI
DBには日本語つかうのに、プログラムに日本語使うのを嫌がるのが理解できん
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)
0418デフォルトの名無しさん
垢版 |
2018/02/28(水) 13:23:08.67ID:l/zLj3SM
goを触ってからだとビルドとかパッケージ管理とかの遅さが気になって使えない
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クラスに、静的メンバを設けて、それを経由で、アクセスしょうかと考えていたところです。
0449デフォルトの名無しさん
垢版 |
2018/03/19(月) 19:35:45.41ID:2HRPdOVd
>>448
ASP.NET Core DI
でググってひと通り基本的な知識を入れてから、もし分からなければまたおいで
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なら問題なく動くけど?
ゴミサーバーじゃなくてもちょっとした更新の度に負荷が掛かってるのは事実であってはっきり言って使えない
■ このスレッドは過去ログ倉庫に格納されています

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