小编Ted*_*ott的帖子

使用哪个版本的StringComparer

如果我想要一个不区分大小写的字符串键入字典,我应该使用哪个版本的StringComparer给定这些约束:

  • 字典中的键来自C#代码或仅用英语语言环境编写的配置文件(美国或英国)
  • 该软件已国际化,将在不同的区域运行

我通常使用StringComparer.InvariantCultureIgnoreCase但不确定这是否是正确的情况.这是示例代码:

Dictionary< string, object> stuff = new Dictionary< string, object>(StringComparer.InvariantCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

.net c# string internationalization

20
推荐指数
2
解决办法
7970
查看次数

如何获取dm_exec_sql_text的参数值

我正在运行以下语句来查看在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)

有没有办法获取该语句正在使用的参数的值?也许加入另一张桌子说?

sql-server sql-server-2005 sql-server-2008

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

对象引用与DDD聚合中Id的引用

在Pluralsight课程领域驱动设计基础,有一个例子说明聚合物的设计是如何形成的.该示例涉及诊所中的患者预约.该约会与例如医生或检查室有关系.并且在该示例之前进行分析,得出结论:约会不应该是Doctor和ExamRoom的聚合根.设计演变的一个步骤是从具有对象引用的Appointment到Doctor和ExamRoom对象,到保存这些其他实体的原始id,DoctorId和ExamRoomId.他们通过以下方式激励这一变化:"通过简单地包含相关概念的ID而不是对象引用,我们能够确保在我们保留约会时创建和更改约会对我们的系统影响最小"

我的第一个问题:这是一种常见的设计模式吗?如果我理解正确,它会推广到如下:如果对象A与对象B相关,但在A上操作永远不需要对B进行更改,则通过其id而不是B本身引用它.这是你会推荐的吗?

我的第二个问题:这与DDD有什么关系吗?我的意思是,约会不应该是医生的总根,并不意味着它不能容纳对象,或者我错过了什么?

domain-driven-design

10
推荐指数
1
解决办法
2780
查看次数

如何拆分ADO.NET的Oracle sql语句

拆分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之间在这些方面有什么不同吗?

.net database oracle ado.net

6
推荐指数
1
解决办法
3583
查看次数

无法在XAML中创建xmlns对其他项目的引用

我有一个像这样定义的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而不是使用项目引用?

.net c# wpf xaml .net-3.5

5
推荐指数
2
解决办法
6729
查看次数

如何在VS 2005中关闭无xml注释的警告

在某些时候,我在Visual Studio 2005中打开一个设置,当方法/类没有与它们关联的xml注释时会产生警告.我想关闭它,但似乎无法再次找到设置.谁知道这是哪里?

.net settings visual-studio-2005 visual-studio

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

如何在接受Drop时在文本框上移动插入符号

我在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)

.net treeview textbox drag-and-drop winforms

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

具有租户特定角色的 ASP.NET 多租户应用程序

我们有一个多租户 ASP.NET 应用程序。到目前为止,租户已相互隔离,但是现在我们拥有管理多个租户的代理,并希望能够使用单个用户帐户管理所有租户。我正在努力找出实现这一目标的最佳方法,希望不会对我们正在使用的现有技术进行太大改变。

相关技术细节:

  • 用于成员资格和角色的 AspNetSqlMembershipProvider
  • C# 4.0(即将成为 4.5)
  • 表单认证
  • aspx 和 MVC (v3) 页面
  • 假设有 100 个或更多租户,因此任何解决方案都需要支持

我相信这些要求与 SQL Server 的安全模型非常相似。我们有一组登录名,代表可以登录系统的所有用户。用户应该能够被赋予一个或多个数据库(租户)的角色。示例:用户 Bob 在公司 A 中具有管理员角色,但在公司 B 中仅具有用户角色。我们还为我公司的员工提供“系统管理员”角色,允许我们访问任何租户以及专门的管理权限,例如创建/删除租户, 等等。

我对各种库、框架等进行了大量研究,但没有发现任何令人信服的证据表明其他库或框架会比我们目前拥有的更好。所以我目前正在考虑如何让 Sql Membership 提供者做我想做的事,除非有人能指出我更好的方向。我也不确定我知道在这方面搜索的最佳术语。

我有两个我正在考虑的选择:

  1. 仅向成员资格提供者添加少数角色,并在成员资格提供者之外处理“当前用户在此租户中是否具有此角色”的所有问题。会员提供程序将用于处理对系统的基本访问。
  2. 将租户特定角色添加到成员资格提供商。我们将在系统中拥有(# 个角色)x(# 个租户)角色。每个新租户都会向系统添加另一组角色,例如“租户 A:管理员”、“租户 A:用户”等。需要一些额外的表来管理关系以及一些自定义代码以确保访问正在向成员资格提供商请求正确的租户特定角色。

这些选项中的任何一个都好吗?还是我应该到别处寻求支持?

c# asp.net asp.net-membership roleprovider asp.net-mvc-3

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