是否有一种聪明的方法来确定哪个字段导致'字符串或二进制数据将被LINQ截断'.
我总是通过逐步调试来手动完成它,但是使用'SubmitChanges'的批处理我必须更改我的代码以插入一行来查找一批行中的罪魁祸首.
我是否遗漏了某些东西,或者在这个时代我是否真的必须使用蛮力方法来找到问题.
请不要给我建议在将来避免这个错误(除非它比'验证你的数据'更聪明).源数据来自一个不同的系统,我无论如何都没有完全控制 - 加上我想要懒惰.
PS.SQL Server 2008实际上是否告诉我字段名称.请告诉我它!我会升级的!
我有两个使用VS2008构建的.NET 3.5 WCF服务.
我在Silverlight中有两个WCF客户端来使用这些服务.使用"添加服务引用"生成客户端.我正在使用Silverlight 4.
其中一个代理是使用Specified
每个属性的属性生成的.这是我的服务方法的'message-in'类:
// properties are generated for each of these fields
private long customerProfileIdField;
private bool customerProfileIdFieldSpecified;
private bool testEnvField;
private bool testEnvFieldSpecified;
Run Code Online (Sandbox Code Playgroud)
现在我的其他服务(仍然使用Silverlight客户端)不会生成Specified
属性.
现在我不关心"良好SOA的原则".我只是想摆脱这些该死的属性,因为在我正在做的事情中我绝对讨厌它们.
两种服务之间必须有一些区别 - 但我不想完全撕掉它们以找出差异.
一个类似的问题之前有一个答案' 你不能这样做 ' - 这绝对不是真的,因为我有它 - 我只是不知道我做了什么不同.
编辑:我现在处于这样的情况:我将Silverlight 4代理重新生成到我的3.5 WCF服务(全部在同一个localhost机器上),有时我会获得"指定"属性,有时我不会.我不再认为(我最初怀疑)这仅仅是由于某些端点配置或服务级别[属性].消息本身中的某些触发器会导致生成(或不生成)Specified.可能涉及许多因素,或者可能是非常简单的因素.
我有一个LINQ to SQL查询生成以下SQL:
exec sp_executesql N'SELECT COUNT(*) AS [value]
FROM [dbo].[SessionVisit] AS [t0]
WHERE ([t0].[VisitedStore] = @p0) AND (NOT ([t0].[Bot] = 1)) AND
([t0].[SessionDate] > @p1)',N'@p0 int,@p1 datetime',
@p0=1,@p1='2010-02-15 01:24:00'
Run Code Online (Sandbox Code Playgroud)
(这是从SQL Server 2008上的SQL事件探查器获取的实际SQL.)
从内部运行此SQL时生成的查询计划Query Analyser
是完美的.它使用含有索引VisitedStore
,Bot
,SessionDate
.查询立即返回.
但是当我从C#(使用LINQ)运行它时,会使用一个效率非常低的不同查询计划,它甚至不会在60秒内返回.此查询计划尝试对包含数百万行的群集主键执行密钥查找.它没有机会回来.
我无法理解的是,正在运行EXACT相同的SQL - 无论是在LINQ内还是在查询分析器中,查询计划都是不同的.
我已经多次运行这两个查询,现在它们正在与其他任何查询隔离运行.日期是DateTime.Now.AddDays(-7)
,但我甚至硬编码该日期以消除缓存问题.
有什么我可以在LINQ to SQL中更改以影响查询计划或尝试进一步调试吗?我很困惑!
我目前正在使用SQL Server的EFCore 1.1(预览版).
我正在做我认为是Order
和OrderItem
表之间的简单OUTER JOIN .
var orders = from order in ctx.Order
join orderItem in ctx.OrderItem
on order.OrderId equals orderItem.OrderId into tmp
from oi in tmp.DefaultIfEmpty()
select new
{
order.OrderDt,
Sku = (oi == null) ? null : oi.Sku,
Qty = (oi == null) ? (int?) null : oi.Qty
};
Run Code Online (Sandbox Code Playgroud)
返回的实际数据是正确的(我知道早期版本的OUTER JOINS根本没有工作的问题).然而,SQL很糟糕,并且包括每个列,Order
并且OrderItem
考虑到其中一个是大型XML Blob ,这是有问题的.
SELECT [order].[OrderId],[order].[OrderStatusTypeId],[order].[OrderSummary],[order].[OrderTotal],[order].[OrderTypeId],[order].[ParentFSPId],[订单].[ParentOrderId],[order].[PayPalECToken],[order].[PaymentFailureTypeId] ....
... [orderItem].[OrderId],[orderItem].[OrderItemType],[orderItem].[Qty],[orderItem].[SKU] FROM [Order] AS [order] LEFT JOIN [OrderItem] AS [orderItem ] ON [order].[OrderId] …
我在Sony笔记本电脑上安装了Windows Server 2008,亮度控制不起作用.我想写一个程序让我改变它.
目前我要做的是打开电源控制面板,点击高级设置,并通过如此多的UAC盒子进行战斗,任何看着我的人都必须认为我完全疯了.
我只想要一个简单的小程序来做,但我不知道要调用什么API
我正在为ASP.NET MVC编写自己的HtmlHelper扩展:
public static string CreateDialogLink (this HtmlHelper htmlHelper, string linkText,
string contentPath)
{
// fix up content path if the user supplied a path beginning with '~'
contentPath = Url.Content(contentPath); // doesn't work (see below for why)
// create the link and return it
// .....
};
Run Code Online (Sandbox Code Playgroud)
当我遇到麻烦的是试着访问UrlHelper
从内我的HtmlHelper的定义.问题是您通常访问HtmlHelper
(via Html.MethodName(...)
)的方式是通过View上的属性.我自己的扩展课程显然无法使用此功能.
这是ViewMasterPage
(从Beta开始)的实际MVC源代码- 定义Html
和Url
.
public class ViewMasterPage : MasterPage
{
public ViewMasterPage();
public AjaxHelper Ajax { get; }
public …
Run Code Online (Sandbox Code Playgroud) 关于ASP.NET MVC单元测试的大多数stackoverflow帖子都讨论了特定问题或要测试的特定事情,例如测试HtmlHelpers.关于最佳实践主题的其他人的答案令人惊讶.在我看来,我看过的可用视频完全没用 - 而且心里很长(当你看了1.5小时而没学到任何东西的时候).
我真正想要知道的是:
我对如何进行单元测试并不陌生 - 但我真的很擅长这样做.我非常感谢那些从事ASP.NET MVC单元测试专家的经验教训.
我真的在寻找你在尝试之后可能会发现的具体事情 - 而不是像'使用接口'那样的一般建议 - 尽管当然有任何建议都是受欢迎的.
哦,让我们说我决定使用微软的单元测试 - 只是因为它已经存在.我认为所有答案都适用于所有测试框架.
我的页面上有某些面板在某些情况下是隐藏的.
例如,我可能有"帐单邮寄地址"和"送货地址",如果选中"ShippingSameAsBilling"复选框,我不想验证"送货地址".
我试图使用ASP.NET MVC 2(预览1)的新DataAnnotations功能来实现这一目标.
我需要防止在未显示"送货地址"时对其进行验证,并且需要找到实现此目的的方法.我主要讨论服务器端而不是使用jquery.
我怎样才能做到这一点?我有几个想法,与自定义模型绑定有关,但我目前最好的解决方案如下.有关此方法的任何反馈?
由于与联盟合作伙伴的沟通错误,我们正在使用他们在我们的服务器上调用的URL混淆了.
这是他们应该在我们的服务器上调用的URL:
/AAAAAAAA/?b=CCCCCCC
Run Code Online (Sandbox Code Playgroud)
不幸的是,它是在他们的系统中实现的
?b=CCCCCCC/AAAAAAA
Run Code Online (Sandbox Code Playgroud)
我可以很容易地解析组件,但我担心带有/的查询字符串参数实际上不是有效的URL.
URL中的/实际上是有效的 - 或者我应该关注.在什么情况下可能会出现未编码/导致查询字符串中的问题.
asp.net-mvc ×3
.net ×2
linq-to-sql ×2
silverlight ×2
sql-server ×2
api ×1
brightness ×1
contextmenu ×1
html-helper ×1
http ×1
query-string ×1
unit-testing ×1
uri ×1
uriencoding ×1
wcf ×1
wcf-proxy ×1
winapi ×1