如何解决.Net错误:System.ArgumentException:'不支持的关键字:'trustedconnection'
我有一个尝试使用.Net编写的应用程序。我有一个SeedData.cs类,我试图使用该类来填充数据库,但是遇到一些连接问题,并且继续出现错误:System.ArgumentException:'不支持的关键字:'trustedconnection'。行:
if (!context.Products.Any())
我认为这可能是由于我的数据库连接造成的,但是无论如何这是我的代码:
// SeedData.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace Sportsstore.Models
{
public static class SeedData
{
public static void EnsurePopulated(IApplicationBuilder app)
{
ApplicationDbContext context = app.applicationservices.GetrequiredService<ApplicationDbContext>();
if (!context.Products.Any())
{
context.Products.AddRange(
new Product
{
Name = "Kayak",Description = "A boat for one person",Category = "Watersports",Price = 275
},new Product
{
Name = "Lifejacket",Description = "Protective and fashionable",Price = 48.95m
},new Product
{
Name = "Soccer Ball",Description = "FIFA-approved size and weight",Category = "Soccer",Price = 19.50m
},new Product
{
Name = "Corner Flags",Description = "Give your playing field a professional touch",Price = 34.95m
},new Product
{
Name = "Stadium",Description = "Flat-packed 35,000-seat stadium",Price = 79500
},new Product
{
Name = "Thinking Cap",Description = "Improve brain efficiency by 75%",Category = "Chess",Price = 16
},new Product
{
Name = "Unsteady Chair",Description = "Secretly give your opponent a disadvantage",Price = 75
},new Product
{
Name = "Bling-Bling King",Description = "Gold-plated,diamond-studded King",Price = 1200
}
);
context.SaveChanges();
}
}
}
}
appsettings.json:
"Data": {
"SportStoreProducts": {
"ConnectionString": "Server=(localdb)\\MSsqlLocalDB;Database=Sportsstore;TrustedConnection=True;MultipleActiveResultSets=true"
}
}
// startup.cs
public class Startup
{
IConfigurationRoot Configuration;
public Startup(IHostEnvironment env)
{
Configuration = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json").Build();
}
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application,visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UsesqlServer(
Configuration["Data:SportStoreProducts:ConnectionString"])); // loads configuration settings in the appsettings.json file and makes them available through a property called Configuration.
services.AddTransient<IProductRepository,EFProductRepository>();
services.AddMvc(options => options.EnableEndpointRouting = false);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app,IServiceProvider serviceProvider,IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseStatusCodePages();
app.UseStaticFiles();
}
app.UseRouting();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",template: "{controller=Product}/{action=List}/{id?}");
});
SeedData.EnsurePopulated(app);
}
}
}
// ApplicationDbContext.cs
namespace Sportsstore.Models
{
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options) {} // provides access to Entity Framework Core's underlying functionality
public DbSet<Product> Products { get; set; } // Provides access to the Product objects in the database.
}
}
解决方法
您的连接字符串中有错误。类型:
Trusted_Connection=True
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。