問題タブ [entity-model]
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# - 'row_number' は認識された関数名ではありません。キーワード「AS」付近の構文が正しくありません
数十のテーブルと多数のインデックスを持つ SQL Server データベースを使用して単純なプロジェクトを作成しましたが、特に複雑なことは何もありません。トリガーも、ストアド プロシージャも、追加の「データベース マジック」もありません。コードは C# で書かれており、Entity モデルと Dynamic Data Site を使用して基本をすばやくセットアップするだけなので、タイピング モンキーを動かして基本的なデータ エントリを実行しながら、プロジェクトをより成熟するように変更します。 .
SQL Server 2005 でテストしたところ、すべて正常に動作しました。そこで、Visual Studio を使用してセットアップを行い、それを入力中の Monkeys とその管理者に送信しました。1) 新しいデータベースを作成します。2) データベースの Create スクリプトを実行します。3) 私が提供したセットアップをインストールします。4) 便宜上、特別な構成ファイルに配置されている接続文字列を変更します。5) Web インターフェイスを使用して、問題が発生した場合は通知してください。
そして、何かがうまくいかなかった。この完全なエラー:行 1: '(' 付近の構文が正しくありません。'row_number' は認識された関数名ではありません。キーワード 'AS' 付近の構文が正しくありません。
コードで「row_number」を使用していません。クエリにはLinqを使用しています。その上、エンティティ モデルのおかげで、SQL の処理についてあまり心配する必要さえありません。(私はそれが得意ですが。)
私の最初の推測は、彼らが間違った接続文字列を使用していることです。彼らはこのアプリケーションを SQL Server にインストールしている可能性があります (それでも動作するはずです) が、接続文字列を完全に変更していないため、私のプロジェクトは SQL Server 2005 を使用していると考えています。他の厄介なバグ?
完全なエラー:
[SqlException (0x80131904): 1 行目: '(' 付近の構文が正しくありません。'row_number' は認識される関数名ではありません。キーワード 'AS' 付近の構文が正しくありません。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 例外、ブール値breakConnection) +1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 例外、Boolean breakConnection) +4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、 SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 System.Data.SqlClient.SqlDataReader.get_MetaData() +83 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data .SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、String メソッド) +32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、String メソッド) +141
System.Data.SqlClient.SqlCommand. ExecuteDbDataReader(CommandBehavior の動作) +12
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior の動作) +10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand、CommandBehavior の動作) +387[EntityCommandExecutionException: コマンド定義の実行中にエラーが発生しました。詳細については、内部例外を参照してください。]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues) +743
System.Data. Objects.ObjectQuery1.GetResults(Nullable
1 forMergeOption) +157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal() +13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList() +7 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 引数、作成者qbConstructor) +1168 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 引数) +102
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 引数、DataSourceViewSelectCallback コールバック) +19 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 システム。 Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72 System.Web.UI.Control .EnsureChildControls() +87 System.Web.UI.Control.PreRenderRecursiveInternal() +44 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI .Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
このアプリケーションは、以前は SQL Server 2000 システム上に構築されていましたが、問題なく動作しました。ただし、テスト データベースは 2005 にアップグレードされましたが、本番データベースはまだ 2000 を使用しています。これで問題は発生しないはずですが、私の推測は正しいですか?
c# - 接続文字列の切り替え
他のクラスが接続する必要のある3つのデータベースの3つのエンティティモデルを含むクラスライブラリを作成しました。このクラスライブラリは、3つの異なるWebサービスと1つのWebサイトで使用されます。これらはすべて独自のサーバーにインストールされるため、同じ接続データを共有する簡単な方法はありません。
私のweb.configファイルには、次の行があります。
これにより、接続文字列が別のXMLファイルからロードされます。これは正常に機能しますが、このDependencies.ConnectionStrings.Configファイルの5つの異なるコピーがあることも意味します。開発中は単一のファイルを使用したいと思います。
ただし、私のソリューションには4つのセットアッププロジェクトも含まれており、これらのセットアップでは、構成ファイルが互いに隣接している必要があります。
では、web.configを変更せずに、複数のプロジェクト間で単一の構成ファイルを共有するようにVSに指示するにはどうすればよいですか?
もう少し複雑にするために、クラスライブラリはapp.configを使用して接続文字列を格納します。また、接続文字列を別の構成ファイルにリンクするようにapp.configに指示することはできません。さらに複雑なのは、インストール後にシステム管理者が接続文字列を変更する必要があることです。これは、開発データベースとは別のデータベースを探す必要があるためです。(実際、開発中は、3つのデータベースを使用してエンティティロジックを分割します。テスト環境と本番環境では、1つのデータベースのみを使用します。)
私の現在の解決策は単純です。Dependencies.ConnectionStrings.Configファイルをソリューションの別のフォルダーに追加し、これを他のプロジェクトに定期的にドラッグアンドドロップして更新しました。これは機能しますが、エラーが発生しやすくなります...
visual-studio - エンティティ モデル (*.edmx ファイル) を更新するより良い方法はありますか
ソリューション内の一連の EDMX ファイルを更新する必要があります。表をグループに分け、各モデルは 1 つのコンポーネントまたはプロセスを表します。ただし、重複するテーブルがいくつかあります。つまり、複数のエンティティ モデルを更新/更新する必要がある場合があります。
VS 2008 で異なるエンティティ モデルのグループを更新するのは時間がかかり、危険です。古いモデルを見逃した場合、アプリケーションは機能しません
ソリューション内のすべてのモデルが開発データベースで最新であることを確認する必要があります。
究極の解決策:これをスクリプト化するにはどうすればよいですか? EDMX ファイルを更新するための Visual Studio への API はありますか? 毎回全く同じことをしています。これプログラムできないの?
わかりました 解決策:エンティティ モデルが DB と一致しない場合に通知するように、Visual Studio で何かを設定できますか? DB に対してモデルをテストするための推奨される方法は何ですか?
前もって感謝します。
c# - 切断された DataSet
DataContext/Entity Model は、常にデータベースからデータを読み取ります。DataContext/Entity Model が DataSet からデータを読み取る方法はありますか。
ありがとう
c# - LINQ エンティティ データ モデル生成コード エラー - 型 'DBContexts.Category' には既に 'ID' の定義が含まれています
データベースに 2 つのテーブル (カテゴリと部門) があり、どちらにも同じ列 (ID、名前、コード) が含まれています。
Visual Studio 2008 デザイナーを使用して新しいエンティティ モデルを作成し、Department を追加すると、問題なく動作します。LINQ を使用してデータベースにクエリを実行できます。
モデルを更新してカテゴリ テーブルを追加すると、生成されたコードをコンパイルしようとすると、次のエラーがスローされます。
これは、Department と Category の列名が同じであることと関係があると思いますが、Code 列に問題があるとは思えません。
これを修正する方法はありますか?モデルを更新すると変更が削除されるため、生成されたコードをいじることはできません。
乾杯
entity-framework - エンティティモデル(edmx)にテーブルを再追加すると、テーブルが表示されません
5つのテーブルを持つデータベースがあります。最初にそれらのテーブルを追加しましたが、関係のコンパイルエラーのためにいくつかを削除することにしました。
今、それらを追加し直したいときは、edmxファイルを開いています->データベースからモデルを更新しています...これらのテーブルは[追加]タブには表示されませんが、[更新]タブにのみ表示されます。
どうすればそれらを元に戻すことができますか?
entity-framework - エンティティ モデルの問題: 特定の 1 つのテーブルのモデルを作成できない
エンティティ モデルの作成中に、次のエラーが発生します。
すべてのテーブルが作成されていますが、BC_States テーブルが作成されていません。理由がわかりません。
entity-framework - データベース構造の変更後にエンティティモデルを正しく更新する方法は?
テーブル構造、特に SQL Server データベース内のテーブル間の関係にいくつかの変更を加えました。今度は、この新しいデータベース構造に基づいてエンティティ モデルを更新したいと考えています。
edmx ファイルを右クリックすると、[データベースからモデルを更新] オプションが表示されます。しかし、これを行うと、50% の更新が行われます。エンティティ クラスに新しい列が表示されますが、対応する外部キーの関係が存在しないにもかかわらず、モデルにまだ存在する多くのナビゲーション プロパティについて混乱しています。データベース。(編集:データベースの列は削除されていますが、モデルクラスのメンバーも削除されません。)
私は何か間違ったことをしていますか?または、ナビゲーション プロパティの削除など、モデルを更新する別のオプションはありますか? または、モデル ファイルでこれらのナビゲーション プロパティを手動で削除する必要がありますか?
Entity Framework バージョン 1 (VS 2008 SP1) を使用しています。
事前に助けてくれてありがとう!
entity-framework - vs2010 で ADO.NET エンティティ モデル ブラウザ ウィンドウが見つからない
データベースから ADO.NET Entities Framework Model を更新したいのですが、Entity Model Browser Windowが見つかりません。ここにモデルを更新する方法の例がありますが、モデル ブラウザーを開く方法が見つかりません。Visual Studio 2010 を使用して開く方法を正確に教えてください。
ビュー メニューから検索しようとしましたが、.edmx ファイルを右クリックしても有効なオプションが表示されません。
mysql - Visual Studio 2010 のデータベースからモデルを生成すると、MySQL ADO.NET ドライバーを使用して DB に接続しようとするとエラー メッセージが表示されます。修正方法を教えてください。
MySQL の公式の Connector/Net 6.4.3 ADO.NET ドライバーを使用して、MySQL データベースから ADO.NET エンティティ モデルを生成しようとしています。ただし、DB 情報を入力して [次へ] をクリックすると (テスト接続が接続の成功を報告します)、Visual Studio から次のエラー メッセージが表示されます。
データベースへの接続中にエラーが発生しました。データベースが使用できない可能性があります。タイプ 'System.Data.ProviderIncompatibleException' の例外が発生しました。エラー メッセージは次のとおりです。「プロバイダーは ProviderManifestToken 文字列を返しませんでした」。
キャッチされた内部例外のタイプは 'System.FormatException' で、エラー メッセージは次のとおりです。
誰でもこれを修正する方法を知っていますか?