我想将值传递给DbContext的ctor,然后让该值对相关的DbSets强制执行"过滤".这可能......还是有更好的方法?
代码可能如下所示:
class Contact {
int ContactId { get; set; }
int CompanyId { get; set; }
string Name { get; set; }
}
class ContactContext : DbContext {
public ContactContext(int companyId) {...}
public DbSet<Contact> Contacts { get; set; }
}
using (var cc = new ContactContext(123)) {
// Would only return contacts where CompanyId = 123
var all = (from i in cc.Contacts select i);
// Would automatically set the CompanyId to 123
var contact = new Contact { …Run Code Online (Sandbox Code Playgroud) 我有一些使用Azure存储的单元测试.在本地运行这些时,我希望它们使用Azure存储模拟器,它是Azure SDK v1.5的一部分.如果模拟器没有运行,我希望它能够启动.
要从命令行启动模拟器,我可以使用:
"C:\Program Files\Windows Azure SDK\v1.5\bin\csrun" /devstore
Run Code Online (Sandbox Code Playgroud)
这很好用.
当我尝试使用这个C#代码启动它时,它会崩溃:
using System.IO;
using System.Diagnostics;
...
ProcessStartInfo processToStart = new ProcessStartInfo()
{
FileName = Path.Combine(SDKDirectory, "csrun"),
Arguments = "/devstore"
};
Process.Start(processToStart);
Run Code Online (Sandbox Code Playgroud)
我试过摆弄一些ProcessStartInfo设置,但似乎没有任何效果.有人有这个问题吗?
我检查了应用程序事件日志,发现了以下两个条目:
事件ID:1023 .NET运行时版本2.0.50727.5446 - 致命执行引擎错误(000007FEF46B40D2)(80131506)
事件ID:1000 故障应用程序名称:DSService.exe,版本:6.0.6002.18312,时间戳:0x4e5d8cf3故障模块名称:mscorwks.dll,版本:2.0.50727.5446,时间戳:0x4d8cdb54异常代码:0xc0000005故障偏移:0x00000000001de8d4故障处理id:0x%9错误应用程序启动时间:0x%10错误应用程序路径:%11错误模块路径:%12报告ID:%13
任何人都可以了解为什么这个单元测试在Visual Studio 2013中失败了?
[TestMethod]
public void Inconceivable()
{
int? x = 0;
Assert.AreEqual(typeof(int?), x.GetType());
}
Run Code Online (Sandbox Code Playgroud) 从我的PartitionKey是用来加载跨多个服务器平衡表中的MS PDC演讲理解,但似乎没有人给出的PartitionKey是用作内的单个服务器索引任何意见.
同样,每个人都会告诉你,指定PartitionKey和RowKey让你出色的性能,但似乎没有人告诉你,如果RowKey被用来改善内PartitionKey性能.
以下是一些示例查询,可帮助我构建问题.假设整个表包含100,000,000行.
这是我的问题:
我正在尝试使用TcpClient类连接到smtp.live.com.这里有一个很好的连接到Gmail的例子:测试SMTP服务器是通过C#运行的
不幸的是,当更新它以使用smtp.live.com时,我在调用AuthenticateAsClient方法时收到"IOException:由于意外的数据包格式导致握手失败".
我该如何解决这个问题?
class Program
{
static void Main(string[] args)
{
using (var client = new TcpClient())
{
var server = "smtp.live.com";
var port = 25;
client.Connect(server, port);
using (var stream = client.GetStream())
using (var sslStream = new SslStream(stream))
{
// Getting an IOException here
sslStream.AuthenticateAsClient(server);
using (var writer = new StreamWriter(sslStream))
using (var reader = new StreamReader(sslStream))
{
writer.WriteLine("EHLO " + server);
writer.Flush();
Console.WriteLine(reader.ReadLine());
}
}
}
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试在AuthenticateAsClient中指定SslProtocol.Tls或Ssl3都不起作用.
还尝试提供RemoteCertificateValidation的回调,以便在服务器证书无效的情况下返回true.那也行不通.
注意:请不要建议我使用SmtpClient; 我需要更多的控制权.