使用實體框架,是否可以將方法添加到對象類? 例如,我有一個CLIENT映射,我想創建一個「getAgeFromBirhDate」方法。使用實體框架向模型添加方法
11
A
回答
20
是的。這是可能的。實體框架生成Partial Classes。
這意味着您可以創建另一個包含Partial Class定義的另一部分的文件(使用其他方法),並且一切都可以正常工作。
2
public static class ModelExtended
{
public static void SaveModelToXML(this Model1Container model, string xmlfilePath)
{
///some code
}
}
4
的第一個答案的一個例子:
,如果你有一個名爲Flower
實體您可以使用此partial
類添加方法給它:
namespace Garden //same as namespace of your entity object
{
public partial class Flower
{
public static Flower Get(int id)
{
//
}
}
}
0
假設你有你的部分類一個實體框架屬性價格從數據庫:
namespace Garden //same as namespace of your entity object
{
public partial class Flower
{
public int price;
public string name;
// Any other code ...
}
}
如果您不想使用另一個分部類,則可以定義包含作爲屬性存儲的原始實體的自定義類。您可以添加那麼任何額外的自定義屬性和方法
namespace Garden //same as namespace of your entity object
{
public class CustomFlower
{
public Flower originalFlowerEntityFramework;
// An extra custom attribute
public int standardPrice;
public CustomFlower(Flower paramOriginalFlowerEntityFramework)
{
this.originalFlowerEntityFramework = paramOriginalFlowerEntityFramework
}
// An extra custom method
public int priceCustomFlowerMethod()
{
if (this.originalFlowerEntityFramework.name == "Rose")
return this.originalFlowerEntityFramework.price * 3 ;
else
return this.price ;
}
}
}
那麼無論你想使用它,您可以創建自定義類的對象,並存儲在其從實體框架的一個:使用系統
//Your Entity Framework class
Flower aFlower = new Flower();
aFlower.price = 10;
aFlower.name = "Rose";
// or any other code ...
// Your custom class
CustomFlower cFlower = new CustomFlower(aFlower);
cFlower.standardPrice = 20;
MessageBox.Show("Original Price : " + cFlower.originalFlowerEntityFramework.price);
// Will display 10
MessageBox.Show("Standard price : " + cFlower.standardPrice);
// Will display 20
MessageBox.Show("Custom Price : " + cFlower.priceCustomFlowerMethod());
// Will display 30
相關問題
- 1. 實體框架:跨方法使用模型的相同實例?
- 2. 使用實體框架數據模型添加驗證屬性
- 3. 實體框架添加到實體模型poco
- 4. 如何將視圖添加到實體框架實體模型?
- 5. MVC 3實體模型 - 添加方法?
- 6. 無法將類對象添加到實體框架模型
- 7. 實體框架 - 使用視圖模型
- 8. 跨層使用實體框架模型?
- 9. 實體框架模型使用遠程
- 10. 不使用實體框架模型
- 11. 添加記錄使用實體框架
- 12. 將實體框架添加到模塊
- 13. 實體框架 - 從模型
- 14. ASP.Net實體框架模型
- 15. 使用實體框架實現MVVM模式 - 添加刪除
- 16. 無法更新實體框架模型
- 17. 實體框架6:泛型方法AddOrUpdate
- 18. 實體框架在添加
- 19. 實體框架添加實體也添加子實體
- 20. 實體框架:ObjectSet.AddObject不添加實體?
- 21. 實體框架 - 添加子實體
- 22. 實體框架 - 當添加DbUpdateException實體
- 23. 實體框架添加新的實體
- 24. 實體框架核心查詢特定模型兩個方向
- 25. C# - 實體框架 - 加入方法
- 26. 實體框架:加入方法
- 27. 實體框架3.5不添加模型中的所有屬性
- 28. 實體框架4 - 將現有模型添加到關聯
- 29. 將屬性添加到實體框架模型
- 30. 實體框架模型 - 不允許我添加某些表
; using System.Collections.Generic;使用System.Linq的 ; using System.Web; 命名空間FOO.Models { 公共部分類FOO_USERS { 公共無效欄(){ // 方法的代碼在這裏 }} } 這 – eka808 2010-11-30 16:37:40
代碼工作:) – eka808 2010-11-30 16:38:04