小编Gra*_*ger的帖子

如何在项目加载时停止Visual Studio 2015连接到每个连接字符串?

尝试打开包含大量连接字符串的解决方案时,Visual Studio 2015会在加载项目时尝试连接到每个连接字符串.

我们团队中的每个开发人员在开发期间都使用SQL Server的本地实例.这个实例可以拥有我们主数据库的多个副本,其中包括不同级别的迁移 - 我们是一个小团队,因此通常最终会在一半时间内完成切换任务.

为了实现这一点,我们有许多特定于机器的连接字符串,在创建DbContext时,我们使用机器名来确定要使用的连接字符串:

<connectionStrings>
  <!-- Steve -->
  <add name="MachineConnection_LT4" providerName="System.Data.SqlClient"
       connectionString="Data Source=LT4\SQL2012;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx;MultipleActiveResultSets=True" />

  <!-- Sean -->
  <add name="MachineConnection_DESKTOP-UQV58RL" providerName="System.Data.SqlClient"
       connectionString="Data Source=DESKTOP-UQV58RL\SQLEXPRESS;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx;MultipleActiveResultSets=True" />

  <!-- Sarah -->
  <add name="MachineConnection_Dev-3" providerName="System.Data.SqlClient"
       connectionString="Data Source=Dev-3\;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx;MultipleActiveResultSets=True" />

  <!-- Graham -->
  <add name="MachineConnection_lt5" providerName="System.Data.SqlClient"
       connectionString="Data Source=.;Initial Catalog=xxx;Integrated Security=True;MultipleActiveResultSets=True" />
  <add name="MachineConnection_graham-surface3" providerName="System.Data.SqlClient"
       connectionString="Data Source=.;Initial Catalog=xxx;Integrated Security=True;MultipleActiveResultSets=True" />
  <add name="MachineConnection_graham-pc-10" providerName="System.Data.SqlClient"
       connectionString="Data Source=.;Initial Catalog=xxx;Integrated Security=True;MultipleActiveResultSets=True" />

  <!-- Alex -->
  <add name="MachineConnection_Dev9" …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework visual-studio-2015

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

将自定义类的集合绑定到TreeView

我正在尝试确定将自定义类的集合绑定到TreeView的最佳方法.

我目前有两个自定义类,一个在Collection中保存,另一个在第一个类中的Collection中保存:

Collection<Device> _devices = new Collection<Device>();

class Device
{
    public ulong DeviceID { get; private set; }

    private List<Capability> _capabilities = new List<Capability>();

    public string FriendlyName{ get; set; }

    public Capability AddCapability(Capability capability)
    {
        _capabilities.Add(capability);
        return capability;
    }

   public List<Capability> GetCapabilities()
   {
       // not safe yet
       return _capabilities;
   }
}

abstract class Capability
{
    public uint CapabilityIndex { get; private set; }
    public string FriendlyName{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试TreeView显示扩展时列出功能的设备集合.

我考虑的选项包括:

  • 循环并从我想要显示的数据创建TreeNode对象(但我不确定如何最好在选择时返回原始对象)
  • 从TreeNode类继承,但这感觉很难看,因为我在多个地方存储相同的数据(大多数时候我不需要它们作为TreeNodes,所以感觉就像浪费资源)

有什么建议?

c# collections treeview winforms

3
推荐指数
1
解决办法
7504
查看次数