ホームページ バックエンド開発 C#.Net チュートリアル .NET Core クラス ライブラリの EF Core を使用してデータベースを SQL Server に移行する方法_実践的なヒント

.NET Core クラス ライブラリの EF Core を使用してデータベースを SQL Server に移行する方法_実践的なヒント

Dec 15, 2017 pm 03:41 PM
.net core 移行する

この記事はReactNativeで使われているReduxアーキテクチャの概要を中心に紹介していますが、編集者がとても良いと思ったので、参考としてシェアさせていただきます。 .NET に興味のあるお友達は、ぜひ編集者をフォローしてご覧ください

この記事では、ReactNative で使用されている Redux アーキテクチャの概要を紹介し、皆さんと共有します。詳細は次のとおりです:

私はしばらくの間 Redux を使用しています。結論は。

なぜ Redux を使うのですか?

背景:

  1. RN の状態 (変数、サブコンポーネントは非表示) と props (不変、サブコンポーネントは表示) の設計により、大規模なプロジェクトへの対処が容易になります。状態の混乱により、コンポーネントのレンダリング エラーが発生しました

  2. RN は、ターゲット バインディングを必要としない仮想 DOM を使用します -> アクションは、状態が変化する限り、新しい状態のコンポーネントがレンダリングされ、データが変更されます。は一方向に送信され、MVC デザイン パターンには双方向のデータ フローがあります。

  3. RN は、非常に便利な模擬テスト方法を提供します。

Redux開発

開発環境

  1. Reduxをインストールします: 'npm install –save redux'

  2. React NativeとReduxバインディングライブラリをインストールします: npm install –save reverse-redux

  3. インストールRedux Thunk 非同期アクション ミドルウェア: npm install –save redux-thunk

3 つの原則

単一のデータ ソース

アプリケーション全体の状態はオブジェクト ツリーに保存され、オブジェクト ツリーは存在します唯一の店舗で。ストア内の状態はコンポーネントにバインドされています

状態は読み取り専用です

状態を変更する唯一の方法は、アクションをトリガーすることです。 action は、イベントを定数として表すことができる type 属性を含む通常の JS オブジェクトです。

純粋関数を使用して変更を実行します

対応するアクションが状態を変更する方法を記述するためにリデューサーを作成します。一般に、switch(action.type) を使用すると副作用なく処理できます

使用してください

react-redux は接続とプロバイダーを提供します。

1.Provider は最上位の配布ポイントであり、その属性は Store であり、接続されているすべてのコンポーネントに State を配布します

2.connect: 2 つのパラメーターを受け入れます: 1 つは、mapStateToProps または mapDispatchToProps で、もう 1 つはコンポーネント自体です縛られること。

Store

StoreはReducerとActionを繋ぐオブジェクトです。 Store には次の責任があります:

  1. アプリケーションの状態を維持する - データベースと同様に、アプリケーションのすべての状態を保存します。

  2. getState() メソッドを提供します。現在のすべての状態を取得します。

  3. は、状態を更新するためのdispatch(action) メソッドを提供します。これは、状態をデータベースに保存し、状態を変更するアクションを保存することと同じです。

  4. subscribe(listener)からリスナーを登録します。

Store は本質的に、アプリケーション全体の状態をツリー形式で保存するオブジェクトです。そしていくつかの方法を提供します。たとえば、getState() やdispatch() などです。

Redux アプリケーションにはストアが 1 つだけあります。

Storeは、アプリケーション全体のルートReducerの初期状態に基づいて、createStoreメソッドを通じて作成されます。

コードは次のとおりです:


import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';//异步
import reducers from './reducers';
const Store = applyMiddleware(thunk)(createStore)(reducers);
export default Store;
ログイン後にコピー


Reducers

Actionは、何かが起こったという事実のみを記述し、アプリケーションが状態を更新する方法を指定しません。これが減速機の役割です。

Reducer の本質は関数であり、純粋な関数です。副作用はありません。簡単に言うと、Reducer は、受け取ったアクションと状態に基づいてストア内の状態を変更するという 1 つのことだけを実行します。

(state, action) => newState

は通常、switch(action) を通じて実装されます。 .type) を使用してさまざまなアクションを決定します。デフォルトは古い状態です。初期状態も定義できます。

コード:


import { combineReducers } from 'redux';
const newState = (state = {}, action = {}) => {
 switch (action.type) {
  case ActionTypes.CSTATE:
   return { ...state, ...action.state };
  case '_DPDATACHANGE_':
   return {...state, ...action.dpState};
  default:
   return state;
 }
};
//Reducer 合并
export default combineReducers({
 newState,
});
ログイン後にコピー


注: 古い状態値の一部を保持する必要がある場合は、...state (対応する ES7 オブジェクト拡張構文) を使用します。オブジェクトのプロパティは浅くコピーされます。ここでは Object.assign({}, state, newState)) と同等です。状態をマージする場合、1 つのレイヤーのみがマージされ、複雑な状態は手動でマージする必要があります。

Action

Action は、イベントを表す少なくとも 1 つの type 属性を含む通常の JS オブジェクトであり、他の属性はデータを渡すために使用できます。実際には、プロセスに対して関数が定義され、プロセスにはネットワーク リクエストが含まれ、最終的にアクションを返します。この関数はアクション クリエーターと呼ばれます。

コード: ストアはこのアクションをディスパッチできます。アクションのタイプは識別子を表し、状態はそれが運ぶデータです。


export const newState = state => {
 Store.dispatch({
  type: ActionTypes.CSTATE,
  state,
 });
};
ログイン後にコピー


永続性

アクションがトリガーされると、データはリデューサーキーに従って復元され、その後、アクションはアプリケーションの起動時にのみ配布される必要があります。これも簡単に抽象化できます。実際、サードパーティのライブラリ redux-persist がこれらすべてを行ってくれます。

アクションのコードは次のようになります:


export const getStorage = async (key) => {
 const d = await AsyncStorage.getItem(key);
 return JSON.parse(d);
};
export const setStorage = (key, value) => {
 AsyncStorage.setItem(key, JSON.stringify(value));
};
ログイン後にコピー


connect

By - getState() メソッドを提供します。現在の状態をすべて取得します

通过connect,绑定需要的state以及Action Creator到你的组件的props上,这样组件就可以通过props来调用Action Creator,或者根据不同props来render()不同的组件。

代码:


mapStateToProps({ newState }) {
      const value = newState[name];//name: newState.name
      return {
       name,
      };
     },
ログイン後にコピー


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

相关推荐:

如何理解 redux

JavaScript技巧中关于react-redux中connect()方法详细解析

在React中使用Redux的实例详解

以上が.NET Core クラス ライブラリの EF Core を使用してデータベースを SQL Server に移行する方法_実践的なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 で Core Isolation のメモリ整合性機能を有効にする方法 Windows 11 で Core Isolation のメモリ整合性機能を有効にする方法 May 10, 2023 pm 11:49 PM

Microsoft の Windows 11 2022 Update (22H2) では、CoreIsolation のメモリ整合性保護がデフォルトで有効になっています。ただし、Windows 11 2022 Update (22H1) などの古いバージョンのオペレーティング システムを実行している場合は、この機能を手動で有効にする必要があります。 Windows 11 で CoreIsolation のメモリ整合性機能をオンにする Core Isolation について知らないユーザーのために説明すると、これは Windows 上の基本的なコア アクティビティをメモリ内で隔離することで悪意のあるプログラムから保護するように設計されたセキュリティ プロセスです。このプロセスとメモリ整合性機能を組み合わせることで、

WeChat のチャット履歴を新しい電話に移行する方法 WeChat のチャット履歴を新しい電話に移行する方法 Mar 26, 2024 pm 04:48 PM

1. 古いデバイスで WeChat アプリを開き、右下の [自分] をクリックし、[設定] 機能を選択して、[チャット] をクリックします。 2. [チャット履歴の移行とバックアップ]を選択し、[移行]をクリックして、デバイスを移行するプラットフォームを選択します。 3. [移行するチャットを選択] をクリックするか、左下の [すべて選択] をクリックするか、チャット記録を自分で選択します。 4. 選択後、右下隅の [開始] をクリックして、新しいデバイスを使用してこの WeChat アカウントにログインします。 5. 次に QR コードをスキャンしてチャット レコードの移行を開始し、ユーザーは移行が完了するまで待つだけです。

コンピューターコアとはどういう意味ですか? コンピューターコアとはどういう意味ですか? Sep 05, 2022 am 11:24 AM

コンピュータでは、コアには 2 つの意味があります: 1. コア (コアとも呼ばれる) は、CPU の最も重要なコンポーネントです。CPU のすべての計算、ストレージ コマンドの受け入れ、データの処理はコアによって実行されます。2. コア、 core は Intel のプロセッサ名で、Core は Intel が Pentium プロセッサに続いて立ち上げたプロセッサ ブランドで、現在は第 12 世代 Core プロセッサがリリースされています。

Linux と Docker: ホスト間でコンテナを移行および同期するにはどうすればよいですか? Linux と Docker: ホスト間でコンテナを移行および同期するにはどうすればよいですか? Jul 29, 2023 pm 02:52 PM

Linux と Docker: ホスト間でコンテナを移行および同期するにはどうすればよいですか?概要: Docker は、軽量の仮想化ソリューションを提供する人気のあるコンテナ化テクノロジです。マルチホスト環境では、ホスト間でコンテナを移行して同期することが非常に一般的な要件です。この記事では、Linux と Docker を使用してコンテナーのクロスホスト移行と同期を実装する方法を紹介し、参考用のサンプル コードをいくつか紹介します。はじめに コンテナ化テクノロジーの台頭により、アプリケーションの導入と移行がより柔軟かつ効率的になりました。複数のホスト上で

GitLab でプロジェクトを移行および統合する方法 GitLab でプロジェクトを移行および統合する方法 Oct 27, 2023 pm 05:53 PM

GitLab でプロジェクトを移行および統合する方法 はじめに: ソフトウェア開発プロセスでは、プロジェクトの移行と統合は重要なタスクです。人気のあるコード ホスティング プラットフォームとして、GitLab はプロジェクトの移行と統合をサポートする一連の便利なツールと機能を提供します。この記事では、GitLab でのプロジェクトの移行と統合の具体的な手順を紹介し、読者の理解を深めるためにいくつかのコード例を示します。 1. プロジェクトの移行 プロジェクトの移行とは、既存のコード ベースをソース コード管理システムから GitLab に移行することです。

C# の雇用の見通しはどのようなものですか? C# の雇用の見通しはどのようなものですか? Oct 19, 2023 am 11:02 AM

初心者でも経験豊富なプロフェッショナルでも、C# をマスターすることでキャリアへの道が開かれます。

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

現在、人工知能(AI)技術の開発は本格化しており、さまざまな分野で大きな可能性と影響力を発揮しています。本日、Dayao は、参考にしていただけるよう、4 つの .NET オープン ソース AI モデル LLM 関連プロジェクト フレームワークを共有します。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel は、OpenAI、Azure などの大規模言語モデル (LLM) を統合するように設計されたオープン ソース ソフトウェア開発キット (SDK) です。

Windows 11/10でプロセッサーのサーマルトリップエラーを修正する方法[修正] Windows 11/10でプロセッサーのサーマルトリップエラーを修正する方法[修正] Apr 17, 2023 am 08:13 AM

ラップトップやデスクトップなどのデバイスのほとんどは、若いゲーマーやプログラマーによって長年にわたって頻繁に使用されてきました。アプリケーションの過負荷により、システムがハングすることがあります。これにより、ユーザーはシステムを強制的にシャットダウンする必要があります。これは主に、重いゲームをインストールしてプレイするプレイヤーに発生します。強制シャットダウン後にシステムが起動しようとすると、以下に示すような黒い画面でエラーがスローされます。 以下は、この起動中に検出された警告です。これらは、イベント ログ ページの設定で表示できます。警告: プロセッサーの温度トリップ。何かキーを押すと続行します。 ..これらのタイプの警告メッセージは、デスクトップまたはラップトップのプロセッサ温度がしきい値温度を超えると常にスローされます。 Windows システムでこの問題が発生する理由を以下に示します。重いアプリケーションがたくさんあります

See all articles