实体框架传递对静态类的引用

The*_*tor 0 c# entity-framework-4

每个人都知道这一点

using (var db = new DatabaseEntites())
{
    var row = db.SomeTable.SingleOrDefault(r => r.Id == 5)
}
Run Code Online (Sandbox Code Playgroud)

我打算用这样的静态方法创建一个静态类

public static class SomeTableRepository
{
   public static class GetSomeTableRow(DatabaseEntities db, int id)
   {
        return db.SomeTable.SingleOrDefault(r => r.Id == 5);
   }
}
Run Code Online (Sandbox Code Playgroud)

然后第一个代码看起来像这样

using (var db = new DatabaseEntites())
{
    var row = SomeTableRepository.GetSomeTableRow(db, id);
}
Run Code Online (Sandbox Code Playgroud)

如果这将是一个网络应用程序...这种编程是否可以......或者那种编程会导致一些麻烦?...或者这是非常好的代码:)

Kir*_*oll 5

代码在技术上是可以接受的,但你为什么要这样做呢?它创造了一种间接性,而不会使代码更加简洁.因此,您的代码难以让大多数人理解.好处是你的代码缩短了两个字符.这对我来说似乎不是一场胜利.

我自己,我会使用标准的LINQ运算符,除非我真正增加了一些真正的价值.