小编Blo*_*ard的帖子

检测实体是否附加到datacontext

我有一个程序需要保存实体对象.问题是我不知道这个实体是否附加到我的datacontext.为了解决这个问题,我使用以下代码:

try
{
    db.ClientUsers.Attach(clientUser);
    db.Refresh(RefreshMode.KeepCurrentValues, clientUser);
}
catch { }

db.SubmitChanges(); 
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更好的方法来检测一个实体是否属于一个上下文,并测试一个实体是否附加到一个特定的上下文.

c# linq-to-sql

15
推荐指数
1
解决办法
4559
查看次数

如何让XmlSerializer将bool编码为是/否?

我正在将xml发送到另一个程序,它希望布尔标志为"是"或"否",而不是"真"或"假".

我有一个类定义如下:

[XmlRoot()]
public class Foo {
    public bool Bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我序列化它时,我的输出如下所示:

<Foo><Bar>true</Bar></Foo>
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

<Foo><Bar>yes</Bar></Foo>
Run Code Online (Sandbox Code Playgroud)

我可以在序列化时这样做吗?我宁愿不必诉诸于此:

[XmlRoot()]
public class Foo {
    [XmlIgnore()]
    public bool Bar { get; set; }

    [XmlElement("Bar")]
    public string BarXml { get { return (Bar) ? "yes" : "no"; } }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我还希望能够再次反序列化此数据.

c# boolean xml-serialization

15
推荐指数
2
解决办法
6784
查看次数

我应该在IIS中托管我的WCF服务吗?

所以我正在设计一个WCF服务.我对WCF没有经验,我正在尝试决定它是应该在IIS中托管还是自定义Windows服务..还是其他一些选择?

需要考虑的事项:

  • 它需要在启动时从数据库加载数据.
  • 它需要跨请求维护这些数据,而不是每次都加载它.
  • 它需要同时处理多个请求.
  • 它需要尽可能地配置端点.
  • 它会调用原生dll很多.

我怀疑在IIS中托管它会简化某些事情,但我不确定在这种情况下这是一个好主意.

我有哪些选择,它们的优缺点是什么?

.net iis wcf windows-services

15
推荐指数
2
解决办法
6609
查看次数

如何将Celestia构建到Android?

Celestia是一个用于空间实时三维可视化的华丽应用程序,具有太阳系的详细模型,超过100,000颗恒星,超过10,000个星系,以及用于添加更多物体的扩展机制.

它可以运行在windows,mac os,linux,freeBSD上,然后是否有任何Android端口呢?或者如何构建或移植到Android?

c++ 3d android

15
推荐指数
1
解决办法
1162
查看次数

确定IDisposable是否应扩展接口或在实现所述接口的类上实现

如何确定是否应该使用IDisposable扩展我的一个接口或在实现我的接口的类上实现IDisposable?

我有一个不需要处理任何外部资源的接口,除了一个特定的实现.我的选择似乎是:

1)在接口上实现IDisposable,要求所有实现都实现Dispose,即使只是一个空方法.

-要么-

2)仅在需要处理资源的类上实现IDisposable.这将导致"使用"问题,因为我的对象是从工厂创建的,因此所有上游代码都对接口起作用.由于接口未绑定到IDisposable,因此"使用"不会看到Dispose方法.但是,我可以将工厂结果转换为实施; 然而,这会使消费者意识到实施,从而破坏了接口的目的.

关于最佳实践的任何想法?

c# dispose idisposable

15
推荐指数
3
解决办法
2638
查看次数

C#静态类和is运算符

在最近重构了一些涉及一些类重命名的代码之后,我的一些代码以惊人的方式破解了.原因是失败的"是"运算符测试,我很惊讶不是编译器错误或警告.

完整的程序显示了这种情况:

static class ExtensionMethods {}

class Program {

    static void Main() {
        Test("Test");
    }

    public static bool Test(object obj)
    {
        return obj is ExtensionMethods;
    }
}
Run Code Online (Sandbox Code Playgroud)

鉴于ExtensionMethods是一个静态类,我本来期望"obj是ExtensionMethods"来引发某种警告.

例如,当被测对象永远不能是提供的类型时,编译器将为"is"运算符发出警告((string)obj) is System.Uri.

我是否忘记了这实际上是一个有意义的测试的场景?

c#

15
推荐指数
1
解决办法
426
查看次数

关闭Visual Studio查找默认选择

当我在VS2010中按Ctrl + Shift + F时,它会在"查找内容:"框中放置光标附近的任何内容 - 这非常令人烦恼,而且绝不是我想要的.

有没有办法让它默认为我搜索的最后一件事?

replace find visual-studio-2010

15
推荐指数
1
解决办法
1209
查看次数

Visual Studio无法打开

我刚下载了VisualSVN Server.它似乎与Visual Studio冲突,因为我的项目现在都不会打开.它抛出的错误说

加载Microsoft Visual Studio菜单时出现问题.要解决此问题,请从命令提示符运行'devenv.exe/resetsettings.

我重新启动,现在收到此错误:

MRU包未正确加载.

visual-studio

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

为什么我不能在构造函数中分配一个lambda语法只读属性?

我的情况:

public class A
{
    public string _prop { get; }
    public A(string prop)
    {
        _prop = prop; // allowed
    }
}
Run Code Online (Sandbox Code Playgroud)

另一个案例:

public class A
{
    public string _prop => string.Empty;
    public A(string prop)
    {
        // Property or indexer 'A._prop' cannot be assigned to -- it is read only
        _prop = prop;
    }
}
Run Code Online (Sandbox Code Playgroud)

两种语法:

public string _prop { get; }
Run Code Online (Sandbox Code Playgroud)

 public string _prop => string.Empty;
Run Code Online (Sandbox Code Playgroud)

创建一个只读属性.但是为什么我不能在第二种情况下分配呢?

c#

15
推荐指数
1
解决办法
959
查看次数

Linq,DLinq和XLinq有什么区别?

我正在读林奇.请向我解释Linq,DLinq和XLinq是如何不同的.

.net c# linq

14
推荐指数
3
解决办法
7558
查看次数