我有一个类Employee.cs它是由EntityFramework自动生成,当我连接到数据库,现在我想实现部分类,但我不能使用该类的“Employee.cs”名称,因为它已经存在。我可以给其他名称它,它会工作吗?你能解释一下编译器如何知道Employee.cs还有另一部分类?如何在MVC4中实现部分类?
回答
你可以给你想要一个像Employee.custom.cs任何名称的文件,但你必须调用员工在相同的命名空间中的其他文件Employee类在它的类,也有partial
修改器,你应该很好去。
编译器只收集所有具有相同名称的partial
类,并将其编译为每个名称的一个类。
但是Employee类是自动生成的。他不应该采取增加部分关键字的路线..对吧? –
谢谢,我已经测试过了,像魅力一样工作。 – ihavenokia
@Reddy EF code-first应该默认生成部分类。 –
编译器始终使用全名的类。如果有一个名为MyProject的项目,为类全名会是这样的:
MyProject.Employee
,如果你想使用相同的名称创建类,你要添加的命名分离的水平,或者如果它必须使用此生成的类进行部分分类,您必须将其标记为部分。
您可以创建(在型号/ Employee.cs):
public class MyProject.AnySubPath.Employee {}
或者:
在文件型号/ Employee.cs
public partial class MyProject.Employee {}
在文件ViewModel/Employee.cs
public partial class MyProject.Employee {}
重要的是你要明白什么是部分平均&会出现什么编译器与您的类:事实上,编译器将只是把所有的partial
类在一起,然后编译它们。只有partial
才能从中受益,因为您可以将代码拆分为多个文件。这里的例子是Windows.Forms
,其中你有“代码隐藏”文件(Form1.cs),然后你有“设计器”文件(Form1.Designer.cs)。
此外,您可以将文件命名为任何您想要的名称,只有通用的标准是拥有1个class = 1的文件,并且类名应该适合文件名。
- 1. 如何在外部类中实现RemoteObject?
- 2. 如何实现单点登录在MVC4
- 3. 如何在子类中实现部分函数
- 4. 如何在部分类模板专业化中实现继承?
- 5. 如何在node.js中实现ajax以实现部分回发
- 6. 如何在派生类或通过部分类实现接口?
- 7. 如何实现分层可选部分?
- 8. 如何在实体框架5/6中实现部分更新?
- 9. 如何在Python中使用部分透视实现LU分解?
- 10. Objective-C部分实现分类文件中的类
- 11. 如何在ASP.NET MVC4中实现“阅读更多内容”
- 12. 如何在.Net MVC4中实现“更改密码”重定向?
- 13. 如何在类类型内部实现类类型?
- 14. C#部分类的ColdFusion CFC实现?
- 15. 如何实现交错GridView的部分?
- 16. asp.NET MVC4在部分视图中使用部分视图
- 17. java如何实现内部类关闭?
- 18. System.Collections.ObjectModel.ObservableCollection仅在Monotouch中部分实现?
- 19. 在mysql中实现rfc4226(HOTP)的部分
- 20. 在SWI-Prolog中实现部分评估
- 21. 如何在EF4.0实现中部署ObjectContext?
- 22. 如何在scala中实现部分缩减?
- 23. 如何在c#中实现泛型多态 - 第2部分?
- 24. 我如何在mac的核心数据中实现部分?
- 25. 如何在ruby中实现咖喱(部分函数)
- 26. 如何解决我在Scala中部分总和的实现?
- 27. 如何在C++中实现内部抽象成员类?
- 28. 如何实现加入使用LINQ和中的EntityFramework MVC4
- 29. 如何在lucene中实现分页?
- 30. 如何在listView中实现分页?
请注意,在C#中,与Java不同,文件的名称不必与类的名称相匹配,因此您可以将其他声明放在任何文件中,编译器在扫描文件时可以找到它项目的一部分。 –