如果我想要一个不区分大小写的字符串键入字典,我应该使用哪个版本的StringComparer给定这些约束:
我通常使用StringComparer.InvariantCultureIgnoreCase但不确定这是否是正确的情况.这是示例代码:
Dictionary< string, object> stuff = new Dictionary< string, object>(StringComparer.InvariantCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud) 我正在运行以下语句来查看在sql server中执行的查询:
select *
from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text(r.sql_handle)
where r.database_id = DB_ID('<dbname>')
Run Code Online (Sandbox Code Playgroud)
返回的sql文本是参数化的:
(@Parm0 int) select * from foo where foo_id = @Parm0
Run Code Online (Sandbox Code Playgroud)
有没有办法获取该语句正在使用的参数的值?也许加入另一张桌子说?
在Pluralsight课程领域驱动设计基础,有一个例子说明聚合物的设计是如何形成的.该示例涉及诊所中的患者预约.该约会与例如医生或检查室有关系.并且在该示例之前进行分析,得出结论:约会不应该是Doctor和ExamRoom的聚合根.设计演变的一个步骤是从具有对象引用的Appointment到Doctor和ExamRoom对象,到保存这些其他实体的原始id,DoctorId和ExamRoomId.他们通过以下方式激励这一变化:"通过简单地包含相关概念的ID而不是对象引用,我们能够确保在我们保留约会时创建和更改约会对我们的系统影响最小"
我的第一个问题:这是一种常见的设计模式吗?如果我理解正确,它会推广到如下:如果对象A与对象B相关,但在A上操作永远不需要对B进行更改,则通过其id而不是B本身引用它.这是你会推荐的吗?
我的第二个问题:这与DDD有什么关系吗?我的意思是,约会不应该是医生的总根,并不意味着它不能容纳对象,或者我错过了什么?
拆分SQL语句以发送到Oracle ADO.NET客户端的正确方法是什么?例如,假设您在文本文件中包含以下代码并希望执行以下语句:
CREATE TABLE foo (bar VARCHAR2(100));
INSERT INTO foo (bar) VALUES('one');
INSERT INTO foo (bar) VALUES('two');
Run Code Online (Sandbox Code Playgroud)
我相信尝试在一个命令中发送所有这些将导致Oracle抱怨";".我的第一个想法是分裂";" 字符,并一次发送一个.
但是,存储过程也可以包含分号,那么我将如何制作它以便拆分例程将整个存储过程保持在一起?是否还需要查找开头/结尾语句,或"/"?
ODP.NET和Micrsoft Oracle Provider之间在这些方面有什么不同吗?
我有一个像这样定义的WPF项目:
MyApp.sln MyAppWPF MyApp.Domain
在我的MyAppWPF项目中的一个xaml文件中,我正在尝试引用MyApp.Domain项目中定义的类.我在MyAppWPF中有一个项目引用到MyApp.Domain.我正在尝试创建这样的引用:
<Window x:Class="MyAppWPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:MyApp.Domain;assembly=MyApp.Domain" Title="Window1" Height="305" Width="485"> <Window.Resources> <local:MyClass x:Key="mine" /> </Window.Resources> </Window>
我得到一个错误,说无法找到程序集,但是我可以在后面的代码中创建我想要引用的类的实例,所以我知道我已正确引用它.
我该怎么做呢?我是否需要强名称,或直接引用dll而不是使用项目引用?
在某些时候,我在Visual Studio 2005中打开一个设置,当方法/类没有与它们关联的xml注释时会产生警告.我想关闭它,但似乎无法再次找到设置.谁知道这是哪里?
我在Windows窗体中的同一窗体上有一个TreeView和一个多行文本框.我有拖放设置,以便我可以将节点从TreeView拖到文本框并将文本插入文本框(这是有效的).
我想增强这一点,以便当鼠标拖过文本框时,某些指示符会在文本中移动,显示用户将文本插入的位置,并且当放下它时会插入该位置.目前我只是把文本放在SelectionStart,但是拖动操作不会更新SelectionStart,所以它在用户最后有光标的时候.
这是我目前的代码:
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
if (e.Button != MouseButtons.Left)
return;
object item = e.Item;
treeView1.DoDragDrop(((TreeNode)item).Tag.ToString(), DragDropEffects.Copy | DragDropEffects.Scroll);
}
private void textBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
e.Effect = DragDropEffects.Copy | DragDropEffects.Scroll;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
textBox1.SelectionLength = 0;
textBox1.SelectedText = (string)e.Data.GetData(DataFormats.StringFormat);
}
}
Run Code Online (Sandbox Code Playgroud) 我们有一个多租户 ASP.NET 应用程序。到目前为止,租户已相互隔离,但是现在我们拥有管理多个租户的代理,并希望能够使用单个用户帐户管理所有租户。我正在努力找出实现这一目标的最佳方法,希望不会对我们正在使用的现有技术进行太大改变。
相关技术细节:
我相信这些要求与 SQL Server 的安全模型非常相似。我们有一组登录名,代表可以登录系统的所有用户。用户应该能够被赋予一个或多个数据库(租户)的角色。示例:用户 Bob 在公司 A 中具有管理员角色,但在公司 B 中仅具有用户角色。我们还为我公司的员工提供“系统管理员”角色,允许我们访问任何租户以及专门的管理权限,例如创建/删除租户, 等等。
我对各种库、框架等进行了大量研究,但没有发现任何令人信服的证据表明其他库或框架会比我们目前拥有的更好。所以我目前正在考虑如何让 Sql Membership 提供者做我想做的事,除非有人能指出我更好的方向。我也不确定我知道在这方面搜索的最佳术语。
我有两个我正在考虑的选择:
这些选项中的任何一个都好吗?还是我应该到别处寻求支持?