我目前正在阅读有关在Entity Framework中使用继承的可能性.有时我使用approch键入数据记录,我不确定是否会使用TPT或TPH或者没有...
例如......我有一个电子商务商店,它增加了运费,账单和送货地址
我有一个地址表:
RecordID
AddressTypeID
Street
ZipCode
City
Country
Run Code Online (Sandbox Code Playgroud)
和一张桌子 AddressType
RecordID
AddressTypeDescription
Run Code Online (Sandbox Code Playgroud)
当人们展示TPT或TPH时,桌子设计与通用设计不同......当有这样的方法时,考虑继承是否有意义..
我希望它有意义......
谢谢你的帮助...
我正在使用新的AAA语法,并想知道下面的语法,并让模拟忽略参数:
mockAccount.AssertWasCalled(account => account.SetPassword("dsfdslkj"));
Run Code Online (Sandbox Code Playgroud)
我认为以下是我如何用记录/重放模型做到这一点,但我想看看是否可以使用3.6使用AAA完成:
mockAccount.Expect(account => account.SetPassword("sdfdsf")).IgnoreArguments();
mockAccount.VerifyAllExpectations();
Run Code Online (Sandbox Code Playgroud) 我需要将datetime变量设置为两天,但是时间部分必须是18:00.
例如,如果我getdate()现在打电话,我会得到2010-05-17 13:18:07.260.我需要设置它2010-05-19 18:00:00.000.
有没有人有一个很好的片段或任何想法如何正确吗?
如何OnClick为超链接控件创建一个事件?
我们可以用Attributes.Add("OnClick","eventname")吗?
我在使用HTML Agility Pack时遇到了一些麻烦.
当我在不包含特定节点的HTML上使用此方法时,我得到一个空引用异常.它起初工作,但后来停止工作.这只是一个片段,还有大约10个foreach循环选择不同的节点.
我究竟做错了什么?
public string Export(string html)
{
var doc = new HtmlDocument();
doc.LoadHtml(html);
// exception gets thrown on below line
foreach (var repeater in doc.DocumentNode.SelectNodes("//table[@class='mceRepeater']"))
{
if (repeater != null)
{
repeater.Name = "editor:repeater";
repeater.Attributes.RemoveAll();
}
}
var sw = new StringWriter();
doc.Save(sw);
sw.Flush();
return sw.ToString();
}
Run Code Online (Sandbox Code Playgroud) string val = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
Run Code Online (Sandbox Code Playgroud)
我想'使用正则表达式获取引号之间的文本.
有人可以吗?
嘿,我发现了一个奇怪的气质页面随机给我以下错误
XML Parsing Error: no element found Location: http://kj2011/site_2011/nonprofit-database/overview.aspx Line Number 1, Column 1:
这个页面好像2周,但截至昨天我随机得到上述错误.我要删除页面并重新创建错误消失但几小时后会再次出现.我有一些其他模板
即 http://kj2011/site_2011/nonprofit-database/financial.aspx
它具有相同的主文件和用户控件,但从未得到错误只是overview.aspx页面.
有任何想法吗 ?
我需要在工作流程中引入重试策略.假设有3个块以这种方式连接:
var executionOptions = new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 3 };
var buffer = new BufferBlock<int>();
var processing = new TransformBlock<int, int>(..., executionOptions);
var send = new ActionBlock<int>(...);
buffer.LinkTo(processing);
processing.LinkTo(send);
Run Code Online (Sandbox Code Playgroud)
因此,有一个缓冲区累积数据,然后将其发送到转换块,该转换块一次处理不超过3个项目,然后将结果发送到操作块.
在处理过程中可能会出现变换块瞬态错误,如果错误是瞬态错误,我想重试该块.
我知道块通常不可重试(传递到块中的委托可以重试).其中一个选项是包装传递给支持重试的委托.
我也知道有一个非常好的库TransientFaultHandling.Core可以为瞬态故障提供重试机制.这是一个很棒的图书馆,但不是我的情况.如果我将传递给转换块的委托包装到RetryPolicy.ExecuteAsync方法中,则转换块内的消息将被锁定,并且在重试完成或失败之前,转换块将无法接收新消息.想象一下,如果所有3条消息都输入到重试中(假设下次重试尝试将在2分钟内完成)并且失败,则变换块将被卡住,直到至少有一条消息离开变换块.
我看到的唯一的解决办法是延长TranformBlock(实际上,ITargetBlock将有足够太),和做手工重试(比如从这里):
do
{
try { return await transform(input); }
catch
{
if( numRetries <= 0 ) throw;
else Task.Delay(timeout).ContinueWith(t => processing.Post(message));
}
} while( numRetries-- > 0 );
Run Code Online (Sandbox Code Playgroud)
ig将消息再次放入变换块中,但是在这种情况下,重试上下文(剩余的重试次数等)也应该传递给该块.听起来太复杂了......
有没有人看到更简单的方法来实现工作流程块的重试策略?
我正在使用System.Data.OracleClient它按名称进行参数绑定,并验证CommandText和Parameters是否同步:
public string CommandText { get; set; }
public IEnumerable<OracleParameter> Parameters { get; set; }
private void VerifyThatAllParametersAreBound()
{
var variableNames = Regex.Matches(CommandText, ":\\w+")
.Cast<Match>().Select(m => m.Value).ToArray();
var parameteterNames = Parameters.Select(p => p.ParameterName).ToArray();
var unboundVariables = variableNames.Except(parameteterNames).ToArray();
if (unboundVariables.Length > 0)
{
throw new Exception("Variable in CommandText missing parameter: "
+ string.Join(", ", unboundVariables) + ".");
}
var unboundParameters = parameteterNames.Except(variableNames).ToArray();
if (unboundParameters.Length > 0)
{
throw new Exception("Parameter that is not used in CommandText: "
+ string.Join(", …Run Code Online (Sandbox Code Playgroud) 我正在尝试从HTML文档中解析一个简单的C#中的股票交易所信息.问题是我无法理解语法,tr class ="LomakeTaustaVari"被解析出来但是如何获得没有tr-class的第二位?
这是HTML的一部分,它自我重复不同的值.
<tr class="LomakeTaustaVari">
<td><div class="Ensimmainen">12:09</div></td>
<td><div>MSI</div></td>
<td><div>POH</div></td>
<td><div>42</div></td>
<td><div>64,50</div></td>
</tr>
<tr>
<td><div class="Ensimmainen">12:09</div></td>
<td><div>SRE</div></td>
<td><div>POH</div></td>
<td><div>156</div></td>
<td><div>64,50</div></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我的C#代码:
{
HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load ("https://www.op.fi/op/henkiloasiakkaat/saastot-ja-sijoitukset/kurssit-ja-markkinat/markkinat?sivu=alltrades.html&sym=KNEBV.HSE&from=10:00&to=19:00&id=32453");
foreach (HtmlNode row in doc.DocumentNode.SelectNodes("//tr[@class='LomakeTaustaVari']"))
{
Console.WriteLine(row.InnerText);
}
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud) c# ×6
asp.net ×2
datetime ×1
inheritance ×1
ora-01008 ×1
oracle ×1
oracleclient ×1
regex ×1
rhino-mocks ×1
sql ×1
sql-server ×1
tpl-dataflow ×1
xml ×1
xpath ×1