在今天一篇备受争议的博客文章中,Hackification对新的LINQ To Entities框架中的错误进行了质疑:
假设我搜索一个客户:
Run Code Online (Sandbox Code Playgroud)var alice = data.Customers.First( c => c.Name == "Alice" );很好,这很好用.现在让我们看看我是否可以找到她的一个订单:
Run Code Online (Sandbox Code Playgroud)var order = ( from o in alice.Orders where o.Item == "Item_Name" select o ).FirstOrDefault();LINQ-to-SQL将找到子行.LINQ-to-Entities将默默地返回任何内容.
现在让我们假设我遍历数据库中的所有订单:
Run Code Online (Sandbox Code Playgroud)foreach( var order in data.Orders ) { Console.WriteLine( "Order: " + order.Item ); }现在重复我的搜索:
Run Code Online (Sandbox Code Playgroud)var order = ( from o in alice.Orders where o.Item == "Item_Name" select o ).FirstOrDefault();哇!LINQ-to-Entities突然告诉我子对象存在,尽管早些时候告诉我它没有!
我最初的反应是,这必须是一个错误,但经过进一步的考虑(并由ADO.NET团队支持),我意识到这种行为是由于实体框架在延迟加载Orders子查询时引起的. datacontext.
这是因为order是LINQ-To-Object查询:
var order = ( from o in alice.Orders
where o.Item …Run Code Online (Sandbox Code Playgroud) 如何在Flash/AS3中获取/设置MovieClip的绝对位置?绝对地,我指的是它相对于舞台的起源的位置.
我目前有这个二传手:
class MyMovieClip extends MovieClip
{
function set xAbs(var x:Number):void
{
this.x = -(this.parent.localToGlobal(new Point()).x) + x;
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但我觉得它需要舞台左对齐.
但是,我没有工作的吸气剂.这不起作用:
public function get xAbs():Number
{
return -(this.parent.localToGlobal(new Point()).x) + this.x; // Doesn't work
}
Run Code Online (Sandbox Code Playgroud)
我的目标是一个有效的解决方案,并适用于所有Stage对齐,但它很棘手.我在舞台上使用它,这相对于浏览器的窗口大小.
编辑:这适用于左上角对齐的舞台; 不确定其他人:
public function get AbsX():Number
{
return this.localToGlobal(new Point(0, 0)).x;
}
public function get AbsY():Number
{
return this.localToGlobal(new Point(0, 0)).y;
}
public function set AbsX(x:Number):void
{
this.x = x - this.parent.localToGlobal(new Point(0, 0)).x;
}
public function set AbsY(y:Number):void
{
this.y = y …Run Code Online (Sandbox Code Playgroud) 我们正忙着为客户开发Java Web服务.有两种可能的选择:
将加密的用户名/密码存储在Web服务客户端上.从配置中读取.在客户端文件,解密和发送.
将加密的用户名/密码存储在Web服务器上.从配置中读取.Web服务器上的文件,解密并在Web服务中使用.
Web服务使用用户名/密码来访问第三方应用程序.
客户端已经有提供此功能的类,但这种方法涉及以明文形式发送用户名/密码(尽管在Intranet内).他们更喜欢存储信息.在网络服务中,但并不真的想要支付他们已有的东西.(安全性不是一个重要的考虑因素,因为它只在其内部网中).
所以我们需要快速简便的Java.
有什么建议?
服务器是Tomkat 5.5.Web服务是Axis2.
我正在编写我的第一个应用程序,使用ASP.NET MVP(尝试监督控制器)和单元测试(迟到总比没有好!),我遇到了一个两难的境地.我写了3个用户控件,所有测试和界面,主持人.现在我来到一个采用这三个用户控件的页面,遇到了以下问题:
用户控件1是DateSelector,它是一个带有其他几个按钮/列表的Calendar控件.没什么真正令人兴奋的
用户控件2是DailyList.猜猜它是什么.无论如何,你可以选择/删除等.如果你从gridview中选择一个项目,它需要填充用户控件3.
用户控件3是ItemDetail.下面是DropDownLists,TextBoxes等...其中一些与其他人存在依赖关系(在DropDown中选择一个选项会影响DropDown 2中的选项).
如果我从DateSelector中选择一个新日期,我是否从DateSelector Presenter中引发事件?我必须以某种方式让其他用户控件知道选择了一个新日期,以便他们可以重新绑定他们的数据,但是如何?如果我使用Page的Presenter订阅用户控件视图的演示者,我是不是会公然违反Demeter法则(通过他们的视图将演示者公开为属性)?我不能使用Page的Presenter作为页面的全知控制器吗?有什么我想念的吗?
到目前为止,我所阅读的所有内容都表示,"即使使用用户控件,MVP也很棒",但在使用示例时,用户控件的使用很容易被遗忘.在我看来,MVC将更加贴近我对此的思考模式,但目前,MVC不是一种选择.任何帮助都会很棒.提前致谢.
我一直在使用LINQ To SQL一段时间,当涉及从数据库中删除实体时,我总是调用表的.DeleteOnSubmit并传入实体.有时我发现自己写了类似的东西:
db.Users.DeleteOnSubmit(db.Users.Where(c => c.ID == xyz).Select(c => c).Single());
Run Code Online (Sandbox Code Playgroud)
这当然会导致两个查询.一个用于获取符合条件的实体,另一个用于删除它.通常我有我需要删除的记录的ID,我想知道是否有更直接的方法通过ID从表中删除行?
我不是 Perl 世界的人,所以其中一些对我来说是新的。我正在运行 Ubuntu Hardy LTS,并安装了 apache2 和 mod_fcgid 软件包。我想让 MT4 在 fcgid 而不是 mod-cgi 下运行(它似乎可以在普通的 CGI 下运行)。
我似乎无法让一个简单的 Perl 脚本在 fcgid 下运行。我创建了一个简单的“Hello World”应用程序,并包含了上一个问题中的代码来测试 FCGI 是否正在运行。
我将脚本命名为 HelloWorld.fcgi(当前 fcgid 设置为仅处理 .fcgi 文件)。代码:
#!/usr/bin/perl
use FCGI;
print "Content-type: text/html\n\n";
print "Hello world.\n\n";
my $request = FCGI::Request();
if ( $request->IsFastCGI ) {
print "we're running under FastCGI!\n";
} else {
print "plain old boring CGI\n";
}
Run Code Online (Sandbox Code Playgroud)
当从命令行运行时,它会打印“plain old Boring...”当通过对 apache 的 http 请求调用时,我收到 500 内部服务器错误,并且脚本的输出被打印到 Apache 错误日志中:
Content-type: text/html
Hello …Run Code Online (Sandbox Code Playgroud) 使用python 2.4和内置ZipFile库,我无法读取非常大的zip文件(大于1或2 GB),因为它想要将未压缩文件的全部内容存储在内存中.有没有其他方法可以做到这一点(使用第三方库或其他一些黑客),或者我必须"解决"并以这种方式解压缩(显然不是跨平台).
我需要能够允许包含"<"和">"字符的查询字符串.但是,将id = mi <ke之类的内容放入URL会输出错误页面:
从客户端检测到潜在危险的Request.QueryString值(id ="mi <ke").
如果我第一次url编码url(创建id = mi%3Cke)我仍然得到相同的错误.我可以通过将ValidateRequest ="false"放入Page指令来解决这个问题,但如果可能的话,我宁愿不这样做.
那么无论如何在查询字符串中允许这些字符并且不关闭ValidateRequest?
编辑:我想让用户也可以手动输入网址,因此以某种方式编码它们可能无法正常工作.
我何时在类上实现IDispose而不是析构函数?我读过这篇文章,但我仍然忽略了这一点.
我的假设是,如果我在一个对象上实现IDispose,我可以显式"破坏"它,而不是等待垃圾收集器这样做.它是否正确?
这是否意味着我应该总是在对象上显式调用Dispose?这有什么常见的例子?
asp.net ×2
c# ×2
python ×2
.net ×1
actionscript ×1
compression ×1
destructor ×1
dispose ×1
encryption ×1
fastcgi ×1
flash ×1
java ×1
linq ×1
linq-to-sql ×1
mod-fcgid ×1
movabletype ×1
mvp ×1
perl ×1
sql ×1
string ×1
unzip ×1
zero-padding ×1
zip ×1