Questions tagged «ado.net»

程序员通常使用ADO.Net来访问和修改存储在关系数据库系统中的数据,尽管它也可以访问非关系源中的数据。它是Microsoft .NET Framework附带的基类库的一部分。

30
MetadataException:无法加载指定的元数据资源
突然之间,我不断地MetadataException实例化生成的ObjectContext类。App.Config中的连接字符串看起来正确-自从上次使用以来就没有改变过-我已经尝试从基础数据库重新生成新模型(edmx文件)而没有任何改变。 谁有想法? 进一步的细节:我没有更改任何属性,没有更改任何输出程序集的名称,也没有尝试将EDMX嵌入程序集。我离开工作仅等了10个小时才回来。然后它不再工作了。 我尝试过重新创建EDMX。我尝试过重新创建该项目。我什至尝试从头开始重新创建数据库。没运气。


5
实体框架VS LINQ to SQL VS ADO.NET具有存储过程吗?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 去年关闭。 您如何按照以下方式对每个人进行评分: 性能 发展速度 简洁,直观,可维护的代码 灵活性 总体 我喜欢我的SQL,因此一直是ADO.NET和存储过程的忠实拥护者,但是最近我对Linq to SQL玩了些,对我写DataAccess层的速度感到震惊,并决定花费有一段时间真的了解Linq to SQL或EF ...还是都不了解? 我只想检查一下,这些技术中没有什么会导致我的研究时间毫无用处的重大缺陷。例如,性能太差了,对于简单的应用程序来说这很酷,但只能带您走远。 更新: 您能否专注于EF VS L2S VS SP而不是ORM VS SP。我主要对EF VS L2S感兴趣。但是我也很想将它们与存储的proc进行比较,因为我很了解纯SQl。

19
从App.config获取连接字符串
var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"] .ConnectionString, DataBaseProvider); 这是我的App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> 但是当我的项目运行时,这是我的错误: 你调用的对象是空的。

15
设置使用人数
受这个问题的启发,在SET NOCOUNT上有不同的看法... 我们是否应该将SET NOCOUNT ON用于SQL Server?如果没有,为什么不呢? 它的作用编辑6,2011年7月22日 它抑制了任何DML之后的“受影响的xx行”消息。这是一个结果集,发送时,客户端必须对其进行处理。它很小,但是可以测量(请参见下面的答案) 对于触发器等,客户端将收到多个“受影响的xx行”,这将导致某些ORM,MS Access,JPA等的各种错误(请参见下面的编辑) 背景: 公认的最佳实践(直到这个问题之前,我一直认为)是SET NOCOUNT ON在SQL Server的触发器和存储过程中使用。我们到处都使用它,一个快速的google也显示出很多SQL Server MVP也同意。 MSDN表示,这可能会破坏.net SQLDataAdapter。 现在,这对我来说意味着SQLDataAdapter仅限于完全CRUD处理,因为它希望“ n个受影响的行”消息匹配。因此,我不能使用: 如果存在则避免重复(不影响行的消息)注意:请谨慎使用 不存在(行数少于预期) 过滤掉琐碎的更新(例如,实际上没有数据更改) 之前进行任何表访问(例如记录) 隐藏复杂性或去甲化作用 等等 在问题marc_s(谁知道他的SQL知识)说不要使用它。这与我的想法有所不同(我也认为自己在SQL方面有些能力)。 我可能会遗漏一些东西(随意指出显而易见的地方),但是你们在那里的人们怎么想? 注意:已经有好几年了,因为我现在不使用SQLDataAdapter,所以看到了此错误。 在评论和问题之后进行编辑: 编辑:更多的想法... 我们有多个客户端:一个可以使用C#SQLDataAdaptor,另一个可以使用Java的nHibernate。这些可能会以不同的方式受到影响SET NOCOUNT ON。 如果您将存储的procs当作方法,那么以某种方式处理某些内部处理以达到您自己的目的是不好的形式(反模式)。 编辑2:触发打破nHibernate问题,SET NOCOUNT ON无法设置在哪里 (不,它不是this的重复) 编辑3:还有更多信息,多亏了我的MVP同事 KB 240882,导致在SQL 2000及更早版本上断开连接的问题 性能提升演示 编辑4:2011年5月13日 如果未指定,是否也会破坏Linq 2 SQL? 编辑5:2011年6月14日 …


10
结合使用MySQL和Entity Framework
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 10个月前关闭。 改善这个问题 在Google上找不到与Entity Framework / MySQL相关的任何内容,因此我希望有人对此有所了解。

4
实体框架和连接池
我最近开始在.NET 4.0应用程序中使用Entity Framework 4.0,并对与池相关的一些事情感到好奇。 据我所知,连接池是由ADO.NET数据提供程序管理的,在我的情况下是由MS SQL服务器管理的。实例化新实体上下文(ObjectContext)(即无参数)时,这是否适用new MyDatabaseModelEntities()? a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定的操作/方法创建和公开实体上下文的优缺点是什么? 我应该了解某些特定情况下的其他建议,最佳实践或通用方法吗?

10
如何在存储过程中使用DbContext.Database.SqlQuery <TElement>(sql,params)?EF代码优先CTP5
我有一个具有三个参数的存储过程,并且我一直在尝试使用以下命令返回结果: context.Database.SqlQuery&lt;myEntityType&gt;("mySpName", param1, param2, param3); 最初,我尝试使用SqlParameter对象作为参数,但这没有用,并向其SqlException显示以下消息: 过程或函数“ mySpName”需要未提供的参数“ @ param1”。 所以我的问题是,如何在需要参数的存储过程中使用此方法? 谢谢。

3
在什么情况下SqlConnection会自动加入环境TransactionScope事务中?
SqlConnection在事务中被“征募”是什么意思?这是否仅表示我在连接上执行的命令将参与事务? 如果是这样,在什么情况下SqlConnection会自动加入环境TransactionScope事务中? 查看代码注释中的问题。我对每个问题答案的猜测都跟在括号中的每个问题之后。 方案1:在事务范围内打开连接 using (TransactionScope scope = new TransactionScope()) using (SqlConnection conn = ConnectToDB()) { // Q1: Is connection automatically enlisted in transaction? (Yes?) // // Q2: If I open (and run commands on) a second connection now, // with an identical connection string, // what, if any, is …

13
如何在C#中创建数据表以及如何添加行?
如何在C#中创建数据表? 我确实是这样的: DataTable dt = new DataTable(); dt.clear(); dt.Columns.Add("Name"); dt.Columns.Add("Marks"); 我如何看待DataTable的结构? 现在,我想补充拉维对Name和500对Marks。我怎样才能做到这一点?
196 c#  ado.net  datatable 


23
从SqlCommand对象获取生成的SQL语句?
我有以下代码: Using cmd As SqlCommand = Connection.CreateCommand cmd.CommandText = "UPDATE someTable SET Value = @Value" cmd.CommandText &amp;= " WHERE Id = @Id" cmd.Parameters.AddWithValue("@Id", 1234) cmd.Parameters.AddWithValue("@Value", "myValue") cmd.ExecuteNonQuery End Using 我想知道是否有任何方法可以将最终的SQL语句作为字符串获得,该字符串应如下所示: UPDATE someTable SET Value = "myValue" WHERE Id = 1234 如果有人想知道为什么我会这样做: 用于记录(失败)语句 有可能将其复制并粘贴到企业管理器中以进行测试
186 c#  vb.net  ado.net 

12
IEntityChangeTracker的多个实例不能引用实体对象。在实体框架4.1中向实体添加相关对象时
我正在尝试保存“员工”详细信息,其中包含“城市”的引用。但是每次尝试保存我的联系人时,都会得到验证“ ADO.Net Entity Framework一个实体对象不能被IEntityChangeTracker的多个实例引用”的异常。 我已经阅读了很多文章,但仍然不知道该怎么做...我的“保存”按钮的点击代码如下 protected void Button1_Click(object sender, EventArgs e) { EmployeeService es = new EmployeeService(); CityService cs = new CityService(); DateTime dt = new DateTime(2008, 12, 12); Payroll.Entities.Employee e1 = new Payroll.Entities.Employee(); Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value)); e1.Name = "Archana"; e1.Title = "aaaa"; e1.BirthDate = dt; e1.Gender = "F"; …

8
混合模式程序集是针对运行时的版本“ v2.0.50727”构建的
我收到以下异常: 混合模式程序集是针对运行时的版本'v2.0.50727'构建的,如果没有其他配置信息,则无法在4.0运行时中加载。 当我试图从WPF程序中导出水晶报表时... 我已经在app.config中添加了以下内容... &lt;startup useLegacyV2RuntimeActivationPolicy="true"&gt; &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/&gt; &lt;/startup&gt; &lt;runtime&gt; &lt;NetFx40_LegacySecurityPolicy enabled="true"/&gt; &lt;/runtime&gt; 有专家可以帮助吗??? 我找到的参考资料:http : //www.davidmoore.info/2010/12/17/running-net-2-runtime-applications-under-the-net-4-runtime

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.