考虑以下类层次结构:基类A,继承自A的类B和C以及继承自B的类D.
public class A {...}
public class B : A {...}
public class C : A {...}
public class D : B {...}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码来查找A的所有子类,包括D:
var baseType = typeof(A);
var assembly = typeof(A).Assembly;
var types = assembly.GetTypes().Where(t => t.IsSubclassOf(baseType));
Run Code Online (Sandbox Code Playgroud)
但是我只需要找到A的直接子类(例子中的B和C)并排除所有不直接从A继承的类(例如D).知道怎么做吗?
我们有一个Entity Framework 5.0项目,它使用SQL Server 2008进行代码优先迁移,但所有日期属性都是作为datetime列在数据库中创建的- 而不是datetime2.
是否可以使用将更新datetime数据库中所有列的添加迁移来创建迁移?有没有其他简单的方法切换到datetime2任何地方?