草庐IT

动态sql

全部标签

c# - 动态、linq 和 Select()

考虑以下(无意义,但用于说明目的)测试类:publicclassTest{publicIEnumerableToEnumerableStrsWontCompile(IEnumerablet){returnt.Select(x=>ToStr(x));}publicIEnumerableToEnumerableStrsWillCompile(IEnumerablet){varres=newList();foreach(vardint){res.Add(ToStr(d));}returnres;}publicstringToStr(dynamicd){returnnewstring(d.Ge

c# - 在 SQL Server 2014 中围绕带有事务的存储过程使用 TransactionScope

我正在使用C#和ADO.Net以及TransactionScope在ASP.Net应用程序中运行事务。此事务应该跨多个表保存一些数据,然后向订阅者发送电子邮件。问题:当它包含对在SQLServer2014中有自己的事务的存储过程的调用时,它是否是TransactionScope的有效使用,或者我应该删除SQL事务语句,即begintran、committran和rollbacktran语句来自在此TransactionScope中调用的存储过程>?这个场景的C#代码和存储过程的T-SQL代码都在下面提到。使用TransactionScope的C#代码:try{using(Transac

c# - 你如何在 LINQ TO SQL 中按多列分组?

如何在LINQTOSQL中按多列分组?db.Table.GroupBy(a=>a.column1.ToString()+a.column2.ToString())看起来很丑,而且性能很差,我什至不知道它是否有效。哪种方法正确? 最佳答案 尝试按匿名类型分组:groupbynew{item.Col1,item.Col2}然后您将能够访问Key.Col1等 关于c#-你如何在LINQTOSQL中按多列分组?,我们在StackOverflow上找到一个类似的问题:

c# - 通过 Entity Framework 将表值类型传递给 SQL Server 存储过程

我在SQLServer中创建了一个用户定义的表类型:CREATETYPEdbo.TestTypeASTABLE(ColumnAint,ColumnBnvarchar(500))我正在使用存储过程将记录插入数据库:createprocedure[dbo].[sp_Test_CustomType]@testingTestTypeREADONLYasinsertinto[dbo].[myTable]selectColumnA,ColumnBfrom@testing我想使用EF来执行这个存储过程,但问题是:如何将用户定义的表传递给存储过程?我尝试将存储过程添加到模型中,但我无法在更新的上下文中

c# - 创建动态公式

我需要创建一个用户界面,用户将建立一个公式。即:对于一个项目公式是:成本*项目/100对于另一个项目:项目*5/100我希望用户能够通过网络用户界面生成公式。然后当用户输入我想要计算结果的变量时。是否有任何软件包或插件可以做到这一点?谢谢。 最佳答案 达斯维德!这里有几个选项,这取决于您的需求以及您是需要非常复杂的东西还是简单易懂和扩展的东西(可能出于学术目的)。1)让我们从简单、容易和可定制开始。我已经创建了一个满足您在帖子中指定的需求的类,但是它非常原始,不应该在没有进一步测试和修改的情况下用于商业项目......如果您可以轻松

c# - 当数据库中的数据发生更改时,LINQ to SQL 不会更新

我遇到这个问题,在数据库上更新字段(比如表MyTable中的Field3)后,MyTable.Field3(在C#中)仍然返回旧值。我怀疑有一些缓存......?我如何强制它:从数据库读取值?或者更新MyTable类中的值?或者有什么我想念的吗?我是LINQ新手提前谢谢你。 最佳答案 DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,entity);如果您想刷新整个实体集,最简单的方法可能是只创建一个新的DataContext并重新查询所有

c# - 多次执行相同的 SQL 查询时重用 SqlCommand 是否更好?

当使用相同的查询但不同的参数查询数据库时,是否更好:一次性完成,还是创建两个单独的查询?单次使用示例:using(SqlCommandaddProduct=newSqlCommand(@"insertinto[Products].[Products]([Name],[Price])values(@name,@price)",sqlConnection)){//Insertthefirstproduct.addProduct.Parameters.AddWithValue("@name","Product1");addProduct.Parameters.AddWithValue("@p

c# - 动态添加复选框到 Windows 窗体只显示一个复选框

如果这看起来很n00bish,我很抱歉,但我已经搜索了几天了。我正在尝试将复选框动态添加到Windows窗体;但是,表单上只出现一个复选框。这是我的代码:for(inti=0;i如您所见,我正在通过for循环添加复选框。我试过弄乱位置并启用自动调整大小以防它们以某种方式重叠。结果是带有文本“a”的单个复选框。 最佳答案 实际上您已经创建了一个CheckBox但在同一点内。CheckBoxbox;for(inti=0;i 关于c#-动态添加复选框到Windows窗体只显示一个复选框,我们在

c# - Entity Framework 6 和 SQL Server 序列

我在数据库优先项目中使用EF6。我们需要使用序列,这是SQLServer2012中引入的一项功能(我相信)。在表中,标识列使用以下方式设置了默认值:(NEXTVALUEFOR[ExhibitIdentity])这是因为我们有两个表来存储不同部门的展览信息,但我们需要标识在两个表中都是唯一的,因为它随后将用作许多其他共享公用表的引用。我的问题是在EntityFramework中使用它,我用google搜索了但找不到太多关于EF6是否支持它们的信息。我尝试将EFdesigner中的StoreGeneratedPattern设置为Identity但是在保存时提示零行受到影响,因为它正在使用s

c# - LINQ-to-SQL:返回单个标量值的存储过程?

我正在将LINQ-to-SQL用于查询遗留数据库的应用程序。我需要调用一个存储过程,它选择一个整数值。更改存储过程不是一种选择。设计者用这个签名创建了一个方法:privateISingleResultNextRowNumber([Parameter(DbType="Int")]System.Nullableincrement,[Parameter(DbType="Char(3)")]stringdataset)我希望返回类型是int。我如何使用LINQ-to-SQL执行此操作? 最佳答案 对于标量函数(UDF)而不是SP,这将是微不