我听说它说实体框架太过分了,或者与LinqToSql相比,它很难学习.
我想知道以什么方式?我使用LinqToSql并喜欢它.所以,我正在尝试EF,对于我正在做的事情,他们看起来几乎完全相同.命名空间和方法名称是不同的,但到目前为止,我没有看到任何使得EF比LinqToSql更难的东西.
我敢肯定,如果我开始做更复杂的事情,它会变得更复杂.但是我再也不能用LinqToSql做同样的事情,所以我认为这是EF的一个加号,以防万一我想要做一些更复杂的事情.
EF是否比LinqToSql使用更多的资源,以至于如果我只需要类似LinqToSql的功能,我就不应该使用它?
更新:我做了一些测试,我的测试似乎指向Linq to Entities表现优于Linq to SQL.
我首先从一个表中删除1000条记录,添加1000条记录,编辑1000条记录,然后将它们数据绑定到DataView.LinqToSQL:5秒LinqToEntities:2秒
我使用两个连接表执行相同的测试,结果相似.
我的测试似乎支持另一篇文章: Linq To Sql vs Entity Framework Performance
更新2:
谢谢你的回复.在我看来,Linq to Entities与Linq对SQL并不是真的有点过分.在研究了更多之后,我认为与Linq一起实现实体是可行的方法.它似乎有更好的表现.
我相信我所听到的"矫枉过正"声明是因为Linq to Entities可以做的远不止Linq To SQL,它确实需要更多配置(在web.config中大约多一行).Linq to Entities也有一些小事情,从Linq到SQL可能会让人觉得Linq to Entities更复杂.但是一旦你学会了如何做事,看起来Linq to Entities并不比Linq to SQL复杂.
我有类似的问题,如:http: //social.msdn.microsoft.com/forums/en-US/biztalkgeneral/thread/87d5a6ec-04ee-4c6f-8267-f526ee105f0b
我有一个asp.net网页,调用BizTalk Web服务.BizTalk业务流程完成其工作并返回对asp.net页面的响应.这个过程可能需要一两分钟.我得到了很多超时但似乎BizTalk业务流程平均在30秒内返回.
我想知道,如果用户提交他们的请求然后立即关闭他们的浏览器会发生什么.asp.net客户端是否停止等待BizTalk的请求(并导致超时),或者即使用户已关闭浏览器,它仍会等待请求吗?
我有一个以以下内容开头的xsd文档:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:complexType name="T_segment">
<xs:sequence>
<xs:element ref="element" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="xml:space" use="required"/>
<xs:attribute ref="id" use="required"/>
</xs:complexType>
...
Run Code Online (Sandbox Code Playgroud)
当我尝试在像BizTalk这样的映射应用程序中使用这个xsd时,它会夸大抱怨命名空间.所以,我删除了xs:import namespace标签,它抱怨xs:attribute ref ="xml:space"标签.所以,我删除它,它似乎工作正常(至少不会爆炸).
我的问题是,那些标签是什么?通过删除它我打破xsd?
据我所知,命名空间是为了避免冲突.但是在xsd中,所有内容都以xs为前缀,而模式本身也有xmlns:xs ="http://www.w3.org/2001/XMLSchema".我不确定那个导入是什么.
我试图找出如何在asp.net mvc中使用usercontrols.我知道如何将一个usercontrol添加到视图以及如何将数据传递给它.我无法弄清楚的是,如何在不必检索和传递每个控制器中的数据的情况下执行此操作?
例如,如果我有一个用户控件在站点中的几个但不是所有页面上显示最新的帖子,我该如何编写控制器以便我获取该用户控件的数据并将其从一个用户控件传递给用户控件放置在网站中而不是在使用用户控件的每个不同控制器中获取和传递数据?
我不确定这是否有意义.是否有更好或推荐的方法来处理要在多个页面上显示的"孤岛"数据?
我来自Web表单,在那里我可以编写一个用户控件,它可以独立于其使用的任何页面,从而获得自己的数据和显示数据.
我正在开发一个BizTalk项目,并且不了解安装(双击)和导入(使用biztalk管理控制台)的原因.
我有一个BizTalk项目,我添加了绑定到它的资源并导出了一个msi文件.现在我想在另一台服务器上安装该应用程序.
据我所知,这是MSI安装的作用:
但是,这是我的问题:
我确定我缺少msi提供的功能/配置,但有人可以帮助我理解为什么msi需要安装并导入到biztalk中以及为什么当你uninistall它没有完全卸载它安装的所有东西?
我的问题是,在使用asp.net mvc时,是否可以构建客户成员资格和角色提供者(覆盖asp.net提供者)?
我猜这是可能的,但没有看到任何有关它的信息.
它会以与asp.net相同的方式完成吗?只需将web.config更改为指向新提供程序,然后提供覆盖方法?
我发现很多文章讨论改变成员资格和角色提供者的数据源,但我不喜欢asp.net使用的表,所以我通常使用自己的表结构.
如果你有任何文章或链接谈论这将是伟大的.
这两段代码有什么区别?
TYPE t_my_cursor IS REF CURSOR;
v_my_cursor t_my_cursor;
OPEN v_my_cursor FOR SELECT SomeTableID
FROM MYSCHEMA.SOMETABLE
WHERE SomeTableField = p_parameter;
Run Code Online (Sandbox Code Playgroud)
和...
CURSOR v_my_cur(p_parameter VARCHAR2) IS
SELECT SomeTableID
FROM MYSCHEMA.SOMETABLE
WHERE SomeTableField = p_parameter;
OPEN presf_cur(p_subscriber_id);
Run Code Online (Sandbox Code Playgroud)
他们似乎都工作.它们是相同的还是我应该注意到的一些差异?
使用.net 4,有一个新的<%:%>脚本外壳,类似于<%=%>,但是进行了html编码.人们鼓励使用这种新语法.
我的问题是,<%:%>是否更好地防范XSS或使用Microsoft Anti XSS库?
一位微软安全人员曾告诉我,不要只使用HTML Encode,因为它不能很好地保护,而且我应该总是使用Anti XSS库(或其他库).<%:%>是否仍然如此?或者我可以自信地使用<%:%>知道它会像人们所说的那样保护我的应用程序免受XSS攻击吗?
是否应该编写一个冗长复杂的2000+行存储过程?
在我的特定情况下,此存储过程包含许多if/then,case,goto和branching语句.它的工作原理是根据查询的输入和结果构造SQL查询,并使用execute语句来运行构造的查询.它可以在一次调用中执行多个构造的查询,并使用这些查询的结果来构造要运行的其他查询.
它非常混乱,难以理解.调试很困难,知道发生了什么的唯一方法是通过调用来查看它正在做什么.几乎没有任何异常处理或记录.保持它是一种痛苦.事实上,没有人真正知道它的作用或它是如何创造的,如果我们不得不对其进行修改,我们就必须采取"交叉指责并希望获得最佳"的方法.但是,我认为出于性能原因这样做了.
许多应用程序都使用此过程.我能想到做这样的事情的另一种方式是通过网络服务.它可能在复杂性方面具有可比性,但更容易理解.但是,它可能会慢几倍,因为它仍然需要为1个请求多次调用数据库.
那么,我的问题是,我们如何决定何时何时不写长存储过程?
有什么我缺少或我们只是忍受我们的怪物存储过程?
有没有办法将存储过程构建并分解为更小的组件,以便于理解?
当您需要对数据库进行多次调用时,存储过程总是比其他任何东西都快吗?
什么是最简单/最简单/最干净的方式:
使用.net.
asp.net ×3
.net ×2
asp.net-mvc ×2
biztalk ×2
xsd ×2
.net-3.5 ×1
biztalk-2009 ×1
controller ×1
linq ×1
linq-to-sql ×1
oracle ×1
plsql ×1
viewdata ×1
web-services ×1
xml ×1