我正在使用实体框架核心 2.1。我首先搭建我的实体类,也就是数据库。当我尝试从其中一个 db 表中获取数据时,出现错误“'server' 不支持关键字”。
我用谷歌搜索,看起来我的连接字符串不正确。这是我的json文件中的设置
"DefaultConnection": "\"Server=myDb.com;Database=MyDb;user id=admin;Password=Password;MultipleActiveResultSets=true;Provider=System.Data.SqlClient"
Run Code Online (Sandbox Code Playgroud)
我见过其他类型的 EF 连接,如
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""
Run Code Online (Sandbox Code Playgroud)
我不确定 .csdl、ssdl 和 msl。
任何帮助表示赞赏。谢谢。
错误:
System.ArgumentException:不支持关键字:“服务器”。
在 System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary
2 parsetable, String connectionString, Boolean buildChain, Dictionary2同义词,Boolean firstKey)
在 System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary 1.get_Value() 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open( Boolean errorsExpected) 在 Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable 3 操作,Func 1.Enumerator.MoveNext() 在 Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider._TrackEntities[TOut,TIn](IEnumerable 1 entityTrackingInfos, IList2 synonyms)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerConnection.CreateDbConnection() …
我正在向我的本地iis添加一个Web应用程序.我在bin里面添加了文件夹的路径.我指定了应用程序池并应用了我的登录凭据.当我点击测试设置时,一切都通过了.当我在浏览器上输入mysite.local时,我得到以下内容.我也点击了浏览网站并得到了同样的错误.这是在我的个人电脑上.
找不到服务器
Firefox无法在www.comicrage.local找到服务器.
检查输入错误的地址,例如ww.example.com而不是www.example.com如果您无法加载任何页面,请检查计算机的网络连接.如果您的计算机或网络受防火墙或代理保护,请确保允许Firefox访问Web.
我调用一个GetData返回一个IQueryable对象的调用.我使用以下LINQ SelectMany过滤掉并选择了我需要返回的字段,List<MyDataType>我得到以下错误
无法隐式转换System.Collections.Generic.List<AnonymousType#1>为System.Collection.Generic.List<MyDataType>
这是我的代码
List<CASES> caseList = cs.GetData(foiaNumber).ToList();
Dictionary<int, string> NameDict =
caseList.ToDictionary(cases => cases.UID, cases => cases.NAME);
List<MyDataType> bindingGrdList =
caseList.SelectMany(x => x.ListObject)
.Select(n =>
new {
SUBMITTER_NAME = NameDict[n.UID],
NUMBER = n.UID,
DATE_SENT = n.DATE_SENT,
DATE_DUE = n.DATE_DUE,
FINAL_DETERMINATION = n.FINAL_DETERMINATION
}).ToList();
Run Code Online (Sandbox Code Playgroud)
如何修复AnonymousType错误?谢谢.
我正在我的Controller中编写HttpGet和HttpPost方法.我得到了HttoPost方法,但我对从HttpPost重定向到HttpGet方法有一些疑问.
[HttpGet]
public async Task<ActionResult> GetData(MyViewModel model)
{
// Get Data
return View(model);
}
[HttpPost]
public async Task<ActionResult> UpdateData(MyViewModel model)
{
try
{
if (ModelState.IsValid)
{
// Update updatedModelObject
//return RedirectToAction("GetData", updatedModelObject);
return RedirectToAction("GetData");
}
}
catch (Exception)
{
}
//return RedirectToAction("GetData", "MyController");
//return RedirectToAction("GetData");
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
当我单击页面上的提交按钮时,它会调用HttpPost UpdateData方法.如果是ModelState.IsValid,它会更新数据库并调用RedirectToAction("GetData").它确实有效并调用HttpGet方法从数据库进行另一次调用.这是我的问题,如果ModelState.IsValid为false,它将调用导致错误的View(模型):
The view 'UpdateData' or its master was not found or no view
engine supports the searched locations. The following locations were
searched:
~/Views/MyController/UpdateData.cshtml
~/Views/MyController/UpdateData.vbhtml
~/Views/Shared/UpdateData.cshtml
~/Views/Shared/UpdateData.vbhtml
~/__MVCSITEMAPPROVIDER/UpdateData.ascx
Run Code Online (Sandbox Code Playgroud)
我一直在阅读许多帖子,其中示例HttpGet和HttpPost方法都命名为Index(),因此它不会像我得到的那样得到相同的错误.我使用了不同的HttpGet和HttpPost方法名称,因此它正在寻找UpdateData.cshtml.从我读过的帖子中,他们说如果Model.IsValid为true,则调用带有更新模型的HttpGet来传递.如果Model.IsValid为false,则帖子会调用View(model)来传递相同的模型数据.
这是我的问题.
我应该调用什么而不是View(模型)来传递具有相同模型的View来刷新查看相同的模型数据并避免错误?作为代码,它寻找UpdateData.cshtml …
在我的 nugent 面板中,我安装了
AutoMapper v7.0.1 AutoMapper.extensions.microsoft.dependencyinjection v5.0.1
在我的 Startup.cs 中,
我添加了
Services.AddAutoMapper();
但编译器给出
Severity Code Description Project File Line Suppression State
Error CS1061 'IServiceCollection' does not contain a definition for 'AddAutoMapper' and no accessible extension method 'AddAutoMapper' accepting a first argument of type 'IServiceCollection' could be found (are you missing a using directive or an assembly reference?) OPEApiService J:\Projects\OPEApiService\OPEApiService\Startup.cs 58 Active
Run Code Online (Sandbox Code Playgroud)
我尝试清理、重建、关闭并重新打开 VS。
任何帮助表示赞赏。
谢谢