小编Mik*_*ian的帖子

EF5使用点名生成SQL Server CE约束

我正在构建一个.NET断开连接的客户端 - 服务器应用程序,它使用Entity Framework 5(EF5)从POCO生成SQL Server CE 4.0数据库.该应用程序允许用户从网络SQL Server执行数据的批量复制到客户端的SQL Server CE数据库.由于EF5创建的约束和索引,这非常(非常)缓慢.暂时删除约束和索引会将30分钟的等待时间减少到1分钟或更短.

在开始批量复制之前,应用程序执行查询以从SQL Server CE表中删除约束和索引.但是,命令失败,因为EF5创建的约束名称包括表模式名称,点和表名称.由于解析问题,约束名称中的点导致drop命令失败.

例如,POCO 使用主键约束Customer创建表.数据库按预期执行.dbo.CustomerPK_dbo.Customer_Id

但是,在执行非查询时:

 ALTER TABLE Customer DROP CONSTRAINT PK_dbo.Customer;
Run Code Online (Sandbox Code Playgroud)

SQL Server Compact ADO.NET数据提供程序返回错误:

解析查询时出错.
[令牌行号= 1,令牌行偏移= 57,令牌错误=.]

当然,使用DataContext没有外键的辅助对象生成没有约束的数据库,然后在以后添加它们的工作; 但是,这需要维护两个DataContext对象,并希望不要忘记保持更新.因此,我正在寻找两种解决方案之一:

  1. 以这样的方式编写DROP语句.字符被解析

  2. 防止EF5使用.约束和索引名称中的字符

预先感谢您的帮助!

sql entity-framework poco sql-server-ce ef-code-first

7
推荐指数
1
解决办法
842
查看次数

模拟另一个域帐户时进行调试

是否可以使用除我自己以外的域用户凭据调试C#.NET 4应用程序,运行单元测试等?我有几个提升的权限,用户和/或服务帐户将不会拥有,并希望避免扭曲我的测试,并最终遭受"它适用于我的机器"综合症.

我特别想创建一个使用域服务帐户的SqlConnection对象,而不是我自己的帐户.我必须使用域帐户而不是SQL Server帐户,以允许SQL Server向其他硬件发出PEXEC调用.(听起来很有趣,是吗?)

我很惊讶运行调试/发布的选项,因为在解决方案/项目调试属性面板中尚未设置其他域用户.这似乎是有用的东西.当然,我了解安全风险,但您必须承认在许多情况下这将非常有用.

提前致谢!

c# sql-server debugging impersonation

4
推荐指数
1
解决办法
1807
查看次数

是否可以在ASP.NET负载测试会话中持久保存WebTestContext?

我想使用Visual Studio 2010 Ultimate Load Test加载测试企业Web应用程序(我没有构建).我希望每个虚拟用户在开始时登录,并在他们的随机测试运行结束时注销.我可以正确配置负载测试.但是,有一个复杂的问题.会话密钥被注入URL,如下所示:

http://ProductName/(S(ilv3lp2yhbqdyr2tbcj5mout))/System/Container.aspx
Run Code Online (Sandbox Code Playgroud)

我将Visual Studio WebTests转换为编码测试,然后使用特定于会话的URL对代码进行改进.这很好用.我需要做的是将这个会话编码的URL保持在特定虚拟用户运行的各种测试中,从登录WebTest类开始,到logout WebTest类.

各个WebTest类能够在每个测试的开始和结束时登录和注销.但是,这不是正常使用的准确表示.此应用程序模拟大型机终端,并且永远不会切断Web浏览器请求之间的连接或会话.每个会话都是一个长的交互式HTTP请求,就像大型机终端与例如IBM AS400交互一样.Usert通常在一天开始时登录到大型机,并且(应该)在一天结束时注销.同样,此Web应用程序维护HTTP请求,直到用户注销,或IIS会话超时发生.因此,重要的是我在所有测试之间的URL中保持相同的会话,以确保内存泄漏和其他讨厌的错误不会累积.

请分享你的想法!

asp.net testing webtest load-testing visual-studio

2
推荐指数
1
解决办法
2163
查看次数