DbSet的Add(entity)方法执行出错

patrickjiang 2016-09-20 08:10:23
因为返回值显示3,初步判断是Add(entity)方法出错。之后查询MSDN,也无法获得满意的答复,所以在博问上请教各位:为能够正常插入数据,Add(entity)的错误应该如何排除???


public override int Add(ExprmntUser entity, bool isExecute = true)
{
try
{

_DbSet.Add(entity);

if (isExecute)
{
//return _DbContext.SaveChanges() > 0;
_DbContext.SaveChanges();
return 1;
}
else
{
//return true;
return 2;
}
}
catch
{
//return false;
return 3;
}

}
...全文
483 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-09-22
  • 打赏
  • 举报
回复
反正这个连接字符串看上去也是不对的 这个应该是自己生成的 你要不找个entity的教程重新来一遍吧
patrickjiang 2016-09-22
  • 打赏
  • 举报
回复
@Poopaye @Poopaye @Poopaye 我以为App.config里面的connectionStrings有值就能连上,但是现在还是连不上。请问该怎么解决???
patrickjiang 2016-09-22
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="TrainingExamEntities" 
         connectionString="metadata=res://*/TrainingExamDataConnection.csdl|res://*/TrainingExamDataConnection.ssdl|res://*/TrainingExamDataConnection.msl;provider=System.Data.SqlClient;provider connection string="data source=(local);initial catalog=trainingexam;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>

patrickjiang 2016-09-22
  • 打赏
  • 举报
回复
引用 5 楼 shingoscar 的回复:
你看,异常吐出来不就很明显了吗 配置文件里没有TrainingExamEntities A 搞错了配置文件,B 配置放错了地方,C 拼写错误,D 代码是抄来的
我的代码是用QQ群里人家共享的,我拿来搭建一个平台,我懂得不多。
正怒月神 2016-09-21
  • 打赏
  • 举报
回复
配置文件里,没有叫做TrainingExamEntities的连接字符串。
雷诺兹 2016-09-21
  • 打赏
  • 举报
回复
连接字符串啊
Poopaye 2016-09-20
  • 打赏
  • 举报
回复
你看,异常吐出来不就很明显了吗 配置文件里没有TrainingExamEntities A 搞错了配置文件,B 配置放错了地方,C 拼写错误,D 代码是抄来的
patrickjiang 2016-09-20
  • 打赏
  • 举报
回复
以下是throw ex;执行后的信息: 运行到catch (Exception ex)! System.InvalidOperationException: No connection string named 'TrainingExamEntiti es' could be found in the application config file. 在 DAL.ExprmntUserDAL.Add(ExprmntUser entity, Boolean isExecute) 位置 d:\D盘 代码库\TrainingExam\k2hTEWebApp-2016-8-9\k2hTEWebApp\DAL\ExprmntUserDAL.cs:行号 71 在 BLL.ExprmntUserBLL.Add(ExprmntUser entity, Boolean isExecute) 位置 d:\D盘 代码库\TrainingExam\k2hTEWebApp-2016-8-9\k2hTEWebApp\BLL\ExprmntUserBLL.cs:行号 54 在 ConsoleClient4Test.Program.Main(String[] args) 位置 d:\D盘代码库\TrainingE xam\k2hTEWebApp-2016-8-9\k2hTEWebApp\ConsoleClient4Test\Program.cs:行号 34 Add()方法执行出错!
patrickjiang 2016-09-20
  • 打赏
  • 举报
回复
引用 1 楼 shingoscar 的回复:
请问,异常好吃吗?
还有一个办法是,把这些吃异常的try-catch语句去掉,然后让系统报,出了什么错!!!!!
patrickjiang 2016-09-20
  • 打赏
  • 举报
回复

protected readonly DbSet<ExprmntUser> _DbSet;
这是_DbSet变量的定义,因为这是一个DbSet类型的,我查了MSDN,找不出什么问题。 @Poopaye @shingoscar 非常不好吃!但是我目前的技术水平,只能初步判断是_DbSet.Add(entity);出了问题。
Poopaye 2016-09-20
  • 打赏
  • 举报
回复
请问,异常好吃吗?

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧