小编Joh*_*ski的帖子

我应该使用哪个Windows SVN服务器?

在SVN Windows二进制文件下载页面上,有几个可供选择:

http://subversion.tigris.org/getting.html#windows

不同组织提供的不同版本是否有利有弊?有什么我应该注意的吗?

主要是,我只想要一些免费的东西,我将从我的Vista笔记本电脑上运行.然后我可能会不时地将SVN文件备份到外部硬盘驱动器.

svn windows version-control svn-server

34
推荐指数
5
解决办法
7万
查看次数

为什么实体框架连接需要元数据属性?

我将DAL从使用LINQ切换到Entity Framework.因为我的应用程序根据当前用户连接到不同的数据库,所以我需要在运行时动态创建DataContext并传入适当的连接字符串.但是,当我尝试使用旧连接字符串以编程方式创建实体框架连接时,连接失败.它抱怨它没有识别连接字符串中的密钥,确切地说是"服务器".

我发现我需要这样做才能使Entity Framework连接正常工作:

EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Provider = "System.Data.SqlClient";
entityBuilder.ProviderConnectionString = clientConnectionString;
entityBuilder.Metadata = "res://*/xxxxxxxxxx.csdl...";
Entities entities = new Entities(entityBuilder.ToString());
Run Code Online (Sandbox Code Playgroud)

为什么是这样?
什么是元数据属性?
对于多个不同的连接,它总是一样的问题吗?
它应该是什么?
有没有办法解决?

提前致谢!

更新1:感谢更新Randolpho,但是......
我遇到此问题的全部原因是我无法将连接字符串存储在配置文件中.连接字符串在运行时由用户连接动态确定.

这是我的确切场景:
如果用户A正在连接,则应用程序从数据库A中提取数据.如果用户B正在连接,则应用程序从数据库B中提取数据.
连接字符串存储在主数据库中,并且该数字可能是无限的.每次添加用户时,我都不想进入web.config,更不用说它最终会变得巨大!

database connection entity-framework connection-string data-access-layer

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

如何使用XSLT选择第一个元素?

我有一个新闻项目列表,按dateCreated排序.我有一个预览框控件,我只想显示第一个项目.我怎么能用XSLT做到这一点?

<xml>
    <news>
        <newsitem>
            <dateCreated>2009-09-09</dateCreated>
            <summary>Something great happened</sumamry>
        </newsitem>
        <newsitem>
            <dateCreated>2009-09-08</dateCreated>
            <summary>Something bad happened</sumamry>
        </newsitem>
        <newsitem>
            <dateCreated>2009-09-07</dateCreated>
            <summary>Something really bad happened</sumamry>
        </newsitem>
    </news>
</xml>
Run Code Online (Sandbox Code Playgroud)

html xml xslt

30
推荐指数
3
解决办法
8万
查看次数

为什么我必须在默认为0时为C#中的int赋值?

这有效:

class MyClass
{
    int a;

    public MyClass()
    {
        int b = a;
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会产生编译错误("使用未分配的局部变量'a'"):

class MyClass
{
    public MyClass()
    {
        int a;
        int b = a;
    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这是因为在第一个例子中,从技术上讲,编译器不知道没有分配'a'.在后一个例子中,'a'是在本地定义的,因此很容易跟踪.

但为什么后一个例子不起作用?

不要将整数默认为0吗?这是编译器对"最佳实践"强制执行的操作.还是有其他原因吗?

c# int default initialization default-value

24
推荐指数
2
解决办法
4756
查看次数

如何在Visual Studio中找到哪些类实现给定的接口?

我有一个解决方案.
我有一个界面.
我有几个实现该接口的类.

我可以使用"查找所有引用"来查找接口的实现位置,但它也返回接口是返回类型的结果,或者类显式实现接口方法的结果.

有没有更好的方法来快速/轻松地找到哪些类实现接口?

c# interface visual-studio-2008 visual-studio

23
推荐指数
2
解决办法
7525
查看次数

你如何在SSIS中调用存储过程?

我正在尝试创建一个SSIS包,用于查询表中的数据,并在每行的另一个数据库中调用存储过程.

在我的旧DTS包中,我这样做:

EXEC myStoredProcedure ?, ?, ?
Run Code Online (Sandbox Code Playgroud)

...然后我映射了参数.但是,在SSIS中,我无法弄清楚如何使这项工作.

我有一个数据流任务,它首先运行数据查询.它将数据传递给OLE DB目标.我将数据访问模式设置为"SQL命令",但是当我尝试输入上面的SQL时,我在解析SQL时得到"无效参数计数".我无法进入Mappings屏幕.有任何想法吗?

sql-server parameters ssis stored-procedures sql-server-2005

21
推荐指数
2
解决办法
9万
查看次数

仅使用'if-else'语句的'else'部分是否可以接受?

有时,我觉得检查所有条件是否都是真的更容易,但是只处理"其他"情况.

我想我有时会觉得更容易知道某些东西是有效的,并假设所有其他情况都无效.

例如,假设我们只在出现问题时才真正关心:

object value = GetValueFromSomeAPIOrOtherMethod();

if((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop)))
{
    // All the conditions passed, but we don't actually do anything
}
else
{
    // Do my stuff here, like error handling
}
Run Code Online (Sandbox Code Playgroud)

或者我应该改变它:

object value = GetValueFromSomeAPIOrOtherMethod();

if((value == null) || (string.IsNullOrEmpty(value.Prop)) || (!possibleValues.Contains(value.prop)))
{
    // Do my stuff here, like error handling
}
Run Code Online (Sandbox Code Playgroud)

或者(我觉得很难看):

object value = GetValueFromSomeAPIOrOtherMethod();

if(!((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop))))
{
    // Do my stuff here, like error …
Run Code Online (Sandbox Code Playgroud)

c# conditional if-statement

21
推荐指数
5
解决办法
1998
查看次数

我可以直接将XML序列化为字符串而不是使用C#的流吗?

此示例使用a StringWriter来保存序列化数据,然后调用ToString()给出实际string值:

Person john = new Person();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Person));
StringWriter stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, john);
string serializedXML = stringWriter.ToString();
Run Code Online (Sandbox Code Playgroud)

有没有更简单/更清洁的方法来做到这一点?所有Serialize()重载似乎都使用了一个Stream或Writer.

更新:问一个关于通过扩展方法序列化IEnumerable的类似问题.

c# xml-serialization

19
推荐指数
3
解决办法
3万
查看次数

String或StringBuilder返回值?

如果我在方法中使用StringBuilder对象构建字符串,那么它是否有意义:

返回StringBuilder对象,让调用代码调用ToString()?

return sb;
Run Code Online (Sandbox Code Playgroud)

或者通过自己调用ToString()返回字符串.

return sb.ToString();
Run Code Online (Sandbox Code Playgroud)

我想如果我们返回小字符串或大字符串会有所不同.在每种情况下适合什么?提前致谢.

编辑:我不打算进一步修改调用代码中的字符串,但好点科林伯内特.

主要是,返回StringBuilder对象或字符串是否更有效?是否会返回对字符串的引用或副本?

c# string stringbuilder return-type return-value

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

用Dapper调用自定义构造函数?

我正在尝试使用Dapper与ASP.NET SQL Membership Provider表进行交互.我包装了SqlMembershipProvider类并添加了一个额外的方法来获取MembershipUsers给出一些与我的一些自定义表相关的标准.

使用Dapper查询数据时,似乎Dapper首先使用无参数构造函数实例化该类,然后将返回的列"映射"到对象的属性中.

但是,MembershipUser类上的UserName属性没有setter.从Dapper SqlMapper.cs中的第1417行开始,该方法GetSettableProps()只获得可设置的属性.

我试图做一个MultiMap查询来调用构造函数,但问题是传递给查询的对象已经缺少UserName.

我猜我可以修改GetSettableProps()方法,但我不确定这是否有效,或者它是否会影响我现有的代码.

反正我是否要调用MembershipUser类具有的自定义构造函数?

或者我是否可以对Dapper做出合理的改变以支持我的情况?

**更新**

Marc使用非泛型/动态Query()方法的答案是正确的,但对后人来说,这是我在Dapper中引用的方法:

static List<PropInfo> GetSettableProps(Type t)
{
    return t
          .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
          .Select(p => new PropInfo
          {
              Name = p.Name,
              Setter = p.DeclaringType == t ? p.GetSetMethod(true) : p.DeclaringType.GetProperty(p.Name).GetSetMethod(true),
              Type = p.PropertyType
          })
          .Where(info => info.Setter != null)
          .ToList();  
}
Run Code Online (Sandbox Code Playgroud)

c# reflection asp.net-membership dapper

18
推荐指数
1
解决办法
7914
查看次数