私はMVC 6プロジェクトを作成していますが、Entity Framework 7よりもClassic ADO.netを使用したいと思います。しかし、DataTable
とSqlDataAdapter
の両方で名前空間が見つかりません。私はSystem.Data
とSystem.Data.SqlClient
を使っています。私はプロジェクトをビルドしようとするまでエラーを表示しません。MVC 6の下でADO.NETを使用したDataTableの代替方法はありますか?
私はどこか2つの名前空間が新しいバージョンで実装されていないと読んでいると思います。もしそうなら、別のやり方があるのですか?依存関係がないかステートメントを使用していますか?
コード:
public static DataTable GetLog(string appName)
{
DataTable table = new DataTable("ApplicationLog");
SqlDataAdapter da = null;
using (SqlConnection conn = DB.GetSqlConnection())
{
SqlCommand cmd = new SqlCommand("select * from ApplicationLog where application_name = @appname", conn);
cmd.Parameters.Add(new SqlParameter("appname", System.Data.SqlDbType.NVarChar, 100));
cmd.Parameters["appname"].Value = appName;
da = new SqlDataAdapter(cmd);
int res = da.Fill(table);
}
return table;
}
私project.json
{
"userSecretsId": "aspnet5-ASPDemo-b25bb1cc-00e6-401e-9f49-5b59c08a030f",
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Bestro": "1.0.0-*",
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"DataTables.AspNet.AspNet5": "2.0.0-beta2"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.configuration": "4.0.0.0",
"System.Data": "4.0.0.0"
}
}
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
}
私はそれを遵守取得しようとするために、異なる成分を多くしようとしてしまいました。ご使用の参考資料がある場合はお知らせください。
ありがとう。これは正しい軌道に乗るだろう。しかし、options.UseSqlServer(Configuration ["Data:MyDbConnectionString"])のstartup.csファイルでエラーが発生しています。 DbContextOptionBuilder idはassymblyで定義されていますthatsは参照されていません。ありがとうございます。これは正しい軌道に乗るだろう。しかし、options.UseSqlServer(Configuration ["Data:MyDbConnectionString"])のstartup.csファイルでエラーが発生しています。それはassymblyで定義されているDbContextOptionBuilderのidはそれが参照されていないと言います – Dblock247
@ Dblock247:あなたは大歓迎です! 'UseSqlServer'は' EntityFramework.MicrosoftSqlServer'で定義されています。 'Using Microsoft.Extensions.DependencyInjection;'と 'Using Microsoft.Extensions.Configuration;'が 'Startup.cs'に存在し、' project.json'がFF7に返される ''依存関係 ''を含んでいることを確認する必要があります。例:["EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"](https://www.nuget.org/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final)および["EntityFramework。コマンド ":" 7.0.0-rc1-final "](https://www.nuget.org/packages/EntityFramework.Commands/7.0.0-rc1-final)。 – Oleg
@ Dblock247:私は少し演奏したので、 'Startup.cs'に' Microsoft.Data.Entity;を使って 'を追加するべきだと思います。 – Oleg