小编Chr*_*eis的帖子

SQL Server 2008转到1个CSV字段

我们在SQL Server 2008上,我试图弄清楚是否有办法让存储过程在1个CSV字段中返回我的结果

例如:

SELECT TOP 4 carModels
FROM dbo.Models
Run Code Online (Sandbox Code Playgroud)

会回来的

Jeep
Honda
Mitsubishi
Ford
Run Code Online (Sandbox Code Playgroud)

我想在1场比赛中回归:Jeep,Honda,Mitsubishi,Ford

我知道我们可以使用程序集,临时表或服务器端代码执行此操作,但不希望这样做.是否有任何提示/技巧可以建议我得到我想要的结果?

sql csv concatenation sql-server-2008

5
推荐指数
1
解决办法
3477
查看次数

.Net 应用程序范围的变量

我对 .Net 相当陌生...我有几个查询将在应用程序加载时执行。我希望这些查询将数据存储在一个对象(数据集?)中,该对象可在整个应用程序中访问。我应该使用单例类吗?我的应用程序中的用户控件如何引用主应用程序代码中的公共变量?

我想我还没有找到关于如何/在哪里存储应用程序变量以及当我需要填充 ListBox、DataGridView 等时如何引用它们的好资源。

作为背景,我最熟悉使用 Flex Builder 3 进行开发,对于这个模糊的问题感到抱歉...我在找到有关该主题的良好参考资料时遇到问题(不仅仅是填充控件,而是将数据存储在应用程序中)级别并从应用程序内的任何位置引用它)。

编辑:这是用于使用 C# 编写 Windows 窗体应用程序

.net c# singleton

5
推荐指数
1
解决办法
6734
查看次数

C#依赖注入问题

我有 3 个班级:A、B 和 C

所有这些类都实现了一个接口 IMyInterface

我希望接口像这样定义:

internal IMyInterface<E> where E: class
{
    E returnData();
}
Run Code Online (Sandbox Code Playgroud)

以便它可以返回类型 E 的数据。类型“E”将是使用实体框架 v4 创建的 POCO 对象。

在一个单独的课程中,我有:

public class MyClass()
{
   IMyInterface<??> businessLogic;

   public setBusinessLogic(IMyInterface<E> myObject)
       where E : class
   {
       businessLogic = myObject;
   }
}
Run Code Online (Sandbox Code Playgroud)

我尝试<object>代替,<??>但它无法转换我的 poco 实体类型。

我尝试让我的实体实现一个空接口,IEntity然后使用

IMyInterface<IEntity> businessLogic;
...
businessLogic = new A<POCOObject>();
Run Code Online (Sandbox Code Playgroud)

结果是:

 Cannot implicitly convert type
 'A<POCOObject>' to
 'IMyInterface<IEntity>'. An explicit
 conversion exists (are you missing a
 cast?)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

编辑: …

c# dependency-injection inversion-of-control

5
推荐指数
1
解决办法
492
查看次数

Visual Studio 2010 Ultimate Layer Diagram - 开源等效?

我非常喜欢具有依赖关系图并阻止某些程序集引用其他程序集的功能 - 确保其他开发人员遵守良好的编程习惯.

是否存在Visual Studio 2010 Ultimates依赖关系图的开源代码?我检查了NDepend,但是,这是供业务使用,所以我不能使用免费版本.

编辑:也许我指的是图层图?无论哪种图表都可用于确保某些组件没有对其他组件的引用

IE

Business assembly
Data assembly
Data.EntityFramework assembly
Run Code Online (Sandbox Code Playgroud)

Data.EntityFramework实现了Data程序集中的接口.Business程序集仅引用Data程序集,并通过Unity或其他IoC容器从Data.EntityFramework中获取实例.

我只有Visual Studio 2010 Professional :(

visual-studio-2010 dependency-management

5
推荐指数
1
解决办法
667
查看次数

.Net - 多个 ORM 的工作单元模式解耦

我当前的应用程序结构是:

  • 模型组装
  • 数据组装
    • 定义由 ORM 实现的存储库接口
  • ORM组装
    • 从数据组装实现存储库接口
    • 使用unity(IoC容器)来Data.IRepository<>注册ORM.GenericRepository<>
  • 业务组装
    • 引用数据和模型程序集
    • 使用 unity 来解决类型IRepository<>
  • 用户界面组装
    • 参考业务程序集

这种结构本质上将业务层与实现IRepository<T>.

这种解耦结构的好处之一是我应该能够相对轻松地替换 ORM - 例如,从实体框架迁移到 NHibernate 或仅升级现有的 ORM。我目前首先使用 EF 4.1 代码,并正在为 NHibernate 构建另一个程序集。

我正在考虑实施工作单元模式。

我读到,这种模式应该在业务层中使用(在我的数据程序集中定义接口,并在 ORM 程序集中实现,就像我对存储库模式所做的那样)。目前,所有实例化存储库都有自己的 DbContext / 会话,并且其生命周期设置为存储库的生命周期 - 这可能很糟糕 - 我的问题是我不确定是否可以实现可以使用的工作单元模式不同的 ORM(呃,更确切地说,它可能是,我只是不跟上速度)。

这是我唯一想到的事情:

在我的数据程序集中创建具有以下功能的 IUnitOfWork:object GetCurrentSession();,然后在 ORM 程序集中的存储库的构造函数中添加一个参数,并将其转换为适当的会话/DbContext(如果是 NHibernate,则为 ISession,如果是 Entity Framework,则为 DbContext)

如果有人对这种情况有所了解,我将不胜感激。

.net dependency-injection inversion-of-control unit-of-work decoupling

5
推荐指数
1
解决办法
1500
查看次数

JSP 中的 301 重定向

我正在使用 301 重定向将我的旧网站页面重定向到新网站。它的代码如下:

<%
response.setStatus(301);
response.setHeader( "Location", "http://my_new_website/page.html" );
response.setHeader( "Connection", "close" );
%>
Run Code Online (Sandbox Code Playgroud)

因此,每当用户到达旧页面时,它将自动重定向到新站点页面:http://my_new_website/page.html

现在我需要一个选项,例如,在从旧页面重定向到新网站的过程中,它必须显示类似“网站已移动”之类的消息一段时间,然后自动重定向到新网站。

我该怎么做?任何人都可以建议一种方法吗?

redirect jsp

5
推荐指数
1
解决办法
3322
查看次数

SQL Server 2008复制(避免重新初始化)

我正在尝试确定是否有更好的方法来处理复制,而不是我们目前正在做的事情.

我们基本上试图确定两件事:

  1. 有没有办法将表中的现有列添加到复制,而无需重新初始化整个发布
  2. 您是否可以选择要重新初始化的特定文章而不是出版物中的所有文章?

(我对复制有点新......试图加快速度,所以如果我的术语没有意义,我会道歉)

现在我们有大约30种出版物,所以如果有任何必须重新初始化,那么影响微乎其微......因为我们的几张表非常庞大.我们宁愿只有几个出版物.

任何想法将不胜感激.

更新

当我们尝试向文章添加列时,我们会收到以下消息:

您已更改了一个或多个要求重新初始化所有订阅的属性.保存这些更改标记了支持自动重新初始化的每个订阅,以便在下次运行分发代理时从快照重新初始化.您必须运行快照代理才能生成快照.

我们希望避免重新初始化所有订阅..我们正在使用事务复制...我们再次希望将现有列添加到现有发布,而无需重新初始化所有订阅.

sql-server replication sql-server-2008

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

实体框架CTP5代码优先映射 - 同一表中的外键

我如何使用modelBuilder映射这样的东西?其中可以为空的外键引用相同的表主键

Table: Task
taskID int pk
taskName varchar
parentTaskID int (nullable) FK
Run Code Online (Sandbox Code Playgroud)

任务类:

public class Task
{
     public int taskID {get;set;}
     public string taskName {get;set;}
     public int parentTaskID {get;set;}
     public Task parentTask {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

...

    modelBuilder.Entity<Task>()
        .HasOptional(o => o.ParentTask)....
Run Code Online (Sandbox Code Playgroud)

entity-framework data-modeling code-first entity-framework-4 entity-framework-ctp5

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

加密连接字符串:"此操作在运行时不适用"

我有一个控制台应用程序,它有app.config.当我运行此代码时:

 class Program
    {
        static void Main()
        {

            ConnectionStringsSection connSection = ConfigurationManager.GetSection("connectionStrings") as 
                                                    ConnectionStringsSection;
            if (connSection != null)
            {
                if (!connSection.SectionInformation.IsProtected)
                    connSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");

                else
                    connSection.SectionInformation.UnprotectSection();
            }

            Console.Read();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:"此操作在运行时不适用".我也试过给我的app.config权限,但没有运气.

有什么问题?

c#

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

C#4 Lazy Loading&Lazy <T>

我有一个cart模型类,它具有如下所示的List属性:

public List<CartItem> CartItems
{
    get
    {
        if (_cartItems == null)
            _cartItems = Services.CartItemService.GetCartItems();

        return _cartItems;
    }
}
private List<CartItem> _cartItems;
Run Code Online (Sandbox Code Playgroud)

这很好,除非用于从SQL Server查询数据的服务返回null,在这种情况下,当引用CartItems时,数据库可能会被多次不必要地命中.然后我注意到Lazy<T>我可以使用,所以我尝试稍微修改我的代码(因为Lazy<T>帐户为null并且会阻止对数据库的多次点击)

public List<CartItem> CartItems
{
    get
    {
        return _cartItems.Value;
    }
}

private Lazy<List<CartItem>> _cartItems = new Lazy<List<CartItem>>(() =>
{
    // return Services.CartItemService.GetCartItems(); cannot be called here :(
});
Run Code Online (Sandbox Code Playgroud)

编译时错误是

"字段初始值设定项不能引用非静态字段,方法或属性"

服务是与CartItems在同一类中的公共属性,但我无法弄清楚是否可以在Func<List<CartItem>>委托中访问它.我不想为每个属性创建工厂类 - 我在很多地方都有这样的东西,我想......好......懒惰.

.net c# lazy-loading c#-4.0

4
推荐指数
2
解决办法
6419
查看次数