エンティティフレームワークでは、オブジェクトクラスにメソッドを追加できますか? たとえば、CLIENTマッピングがあり、 "getAgeFromBirhDate"メソッドを作成したいと考えています。エンティティフレームワークを使用してモデルにメソッドを追加する
11
A
答えて
20
はい。それが可能だ。 Entity FrameworkによってPartial Classesが生成されます。
つまり、パーシャルクラス定義の別の部分が含まれている別のファイルを作成することができます(追加の方法で)、すべてうまく動作します。
2
public static class ModelExtended
{
public static void SaveModelToXML(this Model1Container model, string xmlfilePath)
{
///some code
}
}
+0
これは、ほとんどの場合、拡張メソッドを作成します。ただし、プロパティを追加する場合(プロパティ式でターゲットする場合)、部分クラスを使用します。 – dognose
4
最初の答えのための例:あなたとあなたの部分クラスを持っていると仮定すると
namespace Garden //same as namespace of your entity object
{
public partial class Flower
{
public static Flower Get(int id)
{
//
}
}
}
0
:
あなたはFlower
あなたがそれにメソッドを追加するために、このpartial
クラスを使用することができますという名前のエンティティを持っている場合データベースからのEntity Framework属性値:
namespace Garden //same as namespace of your entity object
{
public partial class Flower
{
public int price;
public string name;
// Any other code ...
}
}
別の部分クラスを使用したくない場合は、属性として格納されている元のエンティティを含む独自のカスタムクラスを定義できます。
//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. ASP.NETエンティティフレームワーク、モデルにテーブルを追加
- 2. DBIモデルにメソッドを追加する
- 3. エンティティフレームワークを使用してモデルに何かを注入する
- 4. エンティティフレームワークの機能CTP5モデルを追加しますか?
- 5. エンティティフレームワークを使用したモデル設計
- 6. パネルをサブコンテナとして使用してメソッドを追加する
- 7. 属性を使用してメソッドにパラメータを追加する
- 8. インターフェイスを使用してコンバータクラスにメソッドを追加する
- 9. pythonデコレータを使用してメソッドに属性を追加する
- 10. エンティティフレームワークで実行時に既存のコンテキストに新しいモデルを追加する
- 11. メソッドを追加して使用するJavaリフレクションを追加して使用する
- 12. `.Select`メソッドを使用して追加のループをスキップする
- 13. メソッドを使用してadminカスタムフィールドを追加する方法
- 14. メタクラスを使用してメソッドを追加する方法
- 15. Rails 3つのモデルを使用してグループボタンに追加
- 16. エンティティフレームワークを使用したAsp.netコア追加コントローラ
- 17. Dynamicを使用してメソッドを追加しますか?
- 18. VBA Hyperlinks.Addメソッドを追加してアドレスにローカルフォルダを追加する
- 19. gemでモデルをオーバーライドし、コールバックとメソッドを追加する
- 20. エンティティフレームワーク共有モデルを使用したメモリ使用
- 21. エンティティフレームワークのコード最初に他のプロジェクトからモデルを追加する
- 22. Djangoモデルの `__str__`メソッドにスペースを追加するには?
- 23. ASP.Net Web Apiコントローラのメソッド構文をエンティティフレームワークを使用して
- 24. モデルにモデルを追加する
- 25. プロキシを使用してQt SQLモデルに仮想列を追加します。
- 26. Java:BCELを使用してすべてのメソッドにデバッグ呼び出しを追加
- 27. MVC 3のエンティティフレームワーク:外部キーを使用してモデルを挿入する方法
- 28. コレクション検索メソッドをモデルに追加する
- 29. エンティティフレームワーク6がラムダを使用してgroupjoinに参加
- 30. "unshift"メソッドを使用してMapオブジェクトの先頭に項目を追加する
システムを使用して:あなたは、あなたがそれにEntity Frameworkのから1をカスタムクラスのオブジェクトとストアを作成、それを使用したいところはどこでもあなたはその後、その後、余分なカスタム属性とメソッド
を追加することができます; using System.Collections.Generic; using System.Linq; using System.Web; 名前空間FOO.Models {ここで方法の 公共部分クラスFOO_USERS { ます。public void bar()の { は//コード }} } – eka808
このコードは動作します:) – eka808
使用することが可能ですLINQクエリ内のそのメソッド?.. – Json