小编use*_*769的帖子

任何使用EF Database-First方法解释主题的Fluent API教程?

关于Fluent API有许多教程,但它们都使用Entity Framework Code-First代码示例来解释它.由于我不了解Code-First,您知道任何使用EF Database-First方法解释主题的Fluent API教程吗?

谢谢

entity-framework fluent ef-database-first

6
推荐指数
1
解决办法
5652
查看次数

包括使用Lambda表达式

在基于字符串的重载中,Include我们指定包含一个集合,然后通过以正确的顺序指定相关的导航属性来向下一个级别:

query.Include("Level1Collection.Level2Reference");
Run Code Online (Sandbox Code Playgroud)

但是为什么当使用Include使用lambda表达式的重载时,我们还必须使用一个Select语句来指定上面的查询:

query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)).
Run Code Online (Sandbox Code Playgroud)

以下为什么不工作:

query.Include.(e => e.Level1Collection.Level2Reference)
Run Code Online (Sandbox Code Playgroud)

谢谢

linq lambda linq-to-entities entity-framework

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

使存储库持久性无知的优点/缺点是什么?

通常,存储库应了解我们决定使用哪个数据库的实现细节。

a)但是使存储库持久性忽略也有什么优点/缺点(即,不知道哪种持久性介质用于存储数据)。我能想到的唯一优点是,现在可以使用相同的存储库实现,而不管持久存储在哪种介质数据上

b)假设存储库被设置为“ 持久性”,则存储库接口及其实现都应驻留在域程序集中

谢谢

design-patterns domain-driven-design repository-pattern

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

有没有办法通过替换部分或全部类型参数来覆盖虚拟泛型方法?

有没有办法通过用实际类型参数替换部分或全部类型参数来覆盖虚拟泛型方法?

class A1
{
    public virtual void Generic<T, U>(T t, U u) { }
}

class A2 : A1
{
    public override void Generic<T,int>(T t, int u) { } //error
}
Run Code Online (Sandbox Code Playgroud)

感谢名单

c#

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

我应该开始学习软件架构吗?

希望我不会因为问这个问题而受到太多抨击

我正在学习WCF/Asp.Net,所以我打算编写的应用程序类型是Web应用程序,Web服务应用程序或两者的混合.据我所知,Web应用程序通常使用n层架构实现,而WCF通常遵循SOA设计原则.

所以我想知道:

a)如果我计划编写的应用程序类型主要使用n层和SOA模式,那么从了解不同的架构设计中我将获得哪些好处?

b)如果必须了解不同的建筑风格 - 这是开始学习和实施它们的最佳时机,还是应该首先专注于在编写wcf/web应用程序方面变得更有经验?

PS - 澄清一点,我不是因为懒得学习而问这个问题,但是因为我要花很多时间才能成为一名优秀的程序员,所以我想首先学习能直接帮助我的东西提高我的编程技巧

谢谢

architecture design-patterns

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

而不是错误,为什么编译器不会促使两个文字输入long?

以下两个语句将导致编译器溢出错误(原因是默认情况下检查常量表达式是否溢出):

int i=(int)(int.MaxValue+100); // error
long l=(long)(int.MaxValue+100); // error
Run Code Online (Sandbox Code Playgroud)

但是,如果编译器能够弄清楚,添加两个值导致溢出,为什么没有那么促进双方int.MaxValue100long,然后才尝试将其加在一起?据我所知,这应该不是问题,因为根据以下引用,整数文字也可以是类型long:

当整数文字没有后缀时,它的类型是这些类型中的第一个,其值可以表示为:int,uint,long,ulong.

感谢名单

c#

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

重载==运算符

A直接从Object类派生,既没有AObject重载==运算符,所以为什么下一个代码不会导致错误:

class Program
{
    static void Main(string[] args)
    {
        A a1 = new A();
        A a2 = new A();

        if (a1 == a2) ... ;
    }
}

class A { }
Run Code Online (Sandbox Code Playgroud)

感谢名单

c#

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

自动属性:DBSet vs ObjectSet

为什么我们能够使用自动属性DBSet,但不能使用ObjectSet:

public class SomeContext : DbContext
{        
    public DbSet<Address> Addresses { get; set; }
             ...
}
Run Code Online (Sandbox Code Playgroud)

谢谢

entity-framework dbcontext

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

用户定义的结构是否继承了重载的==运算符?

如果引用类型不重载相等运算符==,则将使用内置相等运算符on Object.为什么用户定义不一样structs:

struct A{ }

static void Main(string[] args)
{
    A a = new A();
    A a1 = new A();
    bool equal= (a == a1); //error
} 
Run Code Online (Sandbox Code Playgroud)

即,是否ValueType(所有structs派生的)也是过载运==算符?

.net c# struct operator-overloading

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