在查询的时候,发现很多现在的项目的框架都存在“拼接SQL字符串”的现象。最常见的就是生成“报表和图表”的时候,根据不同的条件“拼接Sql语句”,能拼接到几张A4纸那么长。个人认为,如此“拼接Sql”字符串,不好调试,而且费时费力。有没有什么好的方法,可以避免拼接“Sql字符串”,解决这个烦恼???比如使用:“Linq to Sql”可以吗???
主要是因为涉及到“Silverlight”在“Asp.net”项目中的使用,要用到“RIA WCF Service”。
主要是因为涉及到“Silverlight”在“Asp.net”项目中的使用,要用到“RIA WCF Service”。
解决方案 »
- 怎么在asp:repeater添加判断语句呢?
- asp.net代码里 很少用到get和set 呀,,,是不是不算正规的C#程序呀
- 关于COOKIE保存问题
- 怎样启用 sa 登录
- Ajax的问题 和ASPX有关的
- 怎样修改vs.net的缺省字体?
- 谁给我一个Microsoft Visual Studio .NET 2002下载FTP,一百分相送
- asp.net中 文本加密及其读取问题
- 在线等,怎么给ListBox选择项前加一个checkbox,以便用户选择,立即给分!!!
- web调用winform地址问题
- 求助 DropDownList SelectedValue 问题
- 想把office文档实现像百度文库那样阅览、 只有先转换pdf 、然后在利用SWFTools+FlexPaper 进行阅览、、有问题?
可以考虑先将需要的数据缓存起来。然后在程序里通过Linq进行筛选数据。类似于:DataTable dt = new DataTable();
var query = from data in dt.AsEnumerable()
where data.Field<int>("ID") == 1 && data.Field<string>("Title") == "test"
select data;
是的,现在用的好像是“Session”,如下:
//取得统计数据
var data = GetMonitorDatas();
//缓存以备后用
Session["PowerMonitoringData"] = data;这是在“asp.net”中的,在“Silverlight”下怎么办呢?
[EnableClientAccess()]
public class OrganizationService : LinqToEntitiesDomainService<AdventureWorksEntities>
{“EF”和“RIA WCF Service ”就结合在一起了?
大量字符串拼接,可以考虑使用4.0的新东东:string.Concat,很高效
2.EF提供很多方式供开发者使用,你说的这种是数据库驱动(也就是根据已有数据库生成实体模型,这时候包括DBContext都是生成的)。但是这种不够灵活,一般不使用,更多的是
Code First,先写POCO实体,包括DBContext都要自己写,在来根据这些实体模型生成数据库。
现在的项目中就是使用“StringBuilder”,来拼接的呢?
谢谢您,谢谢。问题一:“Linq to Sql跟数据库没有关系,它只是能让你像写SQL一样操作内存数据。”,“Linq to Sql” 不能作用于数据库,实现“增、删、改、查”???问题二:“根据这些实体模型生成数据库”,数据库根据实体模型来生成???那要是已经有了数据库了怎么办?问题三:自己要用的“实体模型对象”来自于多个表,也就是“多个表的字段”作为“实体模型对象”属性。而不是根据数据表自动生成的“edmx 实体模型”是不是就要使用“POCO实体”???
要用linq也可以,就是这些条件表达式都要转换成表达式树,虽然强类型了,更优雅啦,但是实际好处并没有增加什么,反而把代码弄的很复杂,而且下次修改统计需求了,很可能还要修改代码。把拼接sql语句的函数写的好一些,通用一些,字段名什么的都加上中括号,拼接的时候一步步拼接,一步步调试,应该能完成任务
平时复杂交叉模糊查询的程序多了去了,难道都要用他们这种方法?
所以还是简单的用+,稍微多的用StringBuilder吧。今天看了一篇Java大师级文章,说的就是这种问题现象,其中他说道短的用+,多的用StringBuffer