persistence-ignorance

    0熱度

    1回答

    沒有深入瞭解所有的細節,我試圖設計一個基於服務的解決方案,將被幾個客戶端應用程序使用。該解決方案允許管理員創建和修改常規用戶用於執行數據輸入的文檔模板。這是我的意圖,使該應用程序成爲最佳實踐,技術等的學習工具。 而且,在同一時間,我必須適應精神分裂症的環境,因爲'權力是'永遠不能堅持他們的決定關於技術和工具。例如,我今天正在使用Linq-to-SQL,因爲他們還沒有準備好去EF4,但也有關於切換到

    1熱度

    2回答

    我正在開發一個新的項目,我正在積極嘗試遵守持久性無知。例如,在我的服務層,我從我的ORM中檢索一個實體,並且調用一個在實體上定義的例程,該例程可能會或可能不會對該實體進行更改。然後,我依靠ORM檢測實體是否被修改,並進行必要的插入/更新/刪除操作。 當我運行該應用程序時,它的工作方式與預期的一樣,並且它看起來非常實用。我的業務邏輯非常孤立,我的服務層非常薄。 當然,現在我正在添加單元測試,並且我注

    4熱度

    1回答

    我正在嘗試EF 4與POCO的第一次小型項目。在我的Repository實現中,我想提供一個方法AddOrUpdate,它將添加一個傳入的POCO到存儲庫(如果它是新的),否則什麼都不做(因爲當調用SaveChanges時更新的POCO將被保存)。 我首先想到的是要做到這一點: public void AddOrUpdate(Poco p) { if (!Ctx.Pocos.Conta

    2熱度

    2回答

    我正在研究在即將發佈的現有產品的項目中使用Microsoft實體框架。我們當前的產品支持兩個DBMS(Oracle和SQL Server),每個DBMS的架構都保存在單獨的.sql腳本文件中。 實體框架(4.1)看起來很吸引人,因爲它允許通過代碼生成,反射等自動實現各種場景。但是,據我所知,其中一些好處似乎與其他好處相互排斥。例如,爲了支持多個DMBS,我推斷我需要使用模型或代碼優先設計,在這種情

    0熱度

    1回答

    我有SQL Server數據庫,並希望使用LINQ to Entities並用WCF層包裝它並將其公開給客戶端。 (典型的N層架構)。也希望有持久性的無知選項,並且希望有一個選項忽略數據庫中的某些字段(敏感信息),將其序列化到客戶端。 那麼什麼是使用實體框架與持續性無知,WCF支持自我跟蹤的最佳方法。我可以用Self Tracking或Persistence Ignorant找到T4模板。但是所有

    2熱度

    2回答

    我有一個現有的域圖層。我想用Linq to SQL開發持久層。我目前正在使用外部地圖文件。我正在嘗試爲我的子集合使用延遲加載,但是不成功。有沒有辦法使用Linq to SQL實現延遲加載,但不使用EntitySet或EntityRef。

    3熱度

    2回答

    我正在嘗試將我的域模型編寫爲儘可能持久的域模型。我現在唯一要做的就是標記每個屬性和方法virtual,因爲NHibernate要求延遲加載。 在我域模型組件我定義了一些庫接口: public interface IRepository<TEntity> where TEntity : EntityBase { TEntity Get(int id); /* ... */ }

    1熱度

    1回答

    似乎有一種共識,認爲在處理現有/遺留數據庫時,ORM與香草SQL/SQL映射器相比並不是一個好選擇。例如,請查看here和here。 我剛開始在業務密集型應用程序上使用MyBatis來對待舊數據庫,但由於缺少ORM功能(如更改跟蹤),我開始在我的存儲庫中編寫更新函數,嘗試更新域實體和它的直接關聯。但是這使得更新語句顯着變慢!因此,我們現在正在考慮實施以下每種情況下的函數的新策略:更新實體的直接屬性

    4熱度

    2回答

    我將修改與關聯收集的分離實體,例如: 人員和地址是POCO。 當我附加實體並保存更改時,未檢測到收集更改,如何更新帶地址的人(添加和刪除的項目)? 手動跟蹤我的收藏嗎? 編輯 分離POCO的同步必須手動... EF確實收集的目的不是合併方案(導航屬性和關係):( 我比較當前和原始的收藏並且我檢測到差異

    3熱度

    1回答

    我們有具有識別兩個主要手段幾個骨料根: 的整數「鑰匙」,其被用作在數據庫中的主鍵(並通過參考的聚集體用作外鍵),並且在應用程序內部,並且而不是可由公共web API訪問。 一個基於字符串的「id」,它也唯一標識了聚合根,是,可以被公共web API訪問。 基於整數的私有標識符和基於字符串的公共標識符有幾個原因 - 例如,數據庫執行更好(8字節整數而不是可變長度字符串)和公共標識符很難猜測。 但是,