簡體   English   中英

實體框架+ WCF DataServices +擴展方法

[英]Entity Framework + WCF DataServices + Extension Methods

我正在嘗試建立一個圖書館項目,該圖書館項目將通過一些擴展方法為我的其他項目提供幫助。 將被擴展的類型是DbContext。 這是一些例子

public bool Insert<TEntity>(this DbContext Context, TEntity entity) where TEntity : class
    {
        if (Context.Entry(entity).State == EntityState.Detached) //Entity is detached
        {
            Context.Set<TEntity>().Add(entity);
        }
        else //Entity is attached
        {
            Context.Entry(entity).State = EntityState.Added;
        }

        var str = Context.GetValidationErrors();

        if (Context.GetValidationErrors().Any()) return false;

        Context.SaveChanges();
        return true;

    }

問題出在哪兒 ?

我正在通過WCF數據服務公開上下文,這使我的上下文功能受到限制,這對我來說是矛盾的,因為此處的目標是公開數據,如何在沒有意義的情況下公開數據? 因此,我如何完成此任務,將擴展方法作為擴展方法公開給客戶端上下文操作。

編輯

我一直在閱讀arround,並從Ladislav Mrnka找到了這個答案

使用存儲庫模式實施WCF數據服務

當您添加對數據服務的引用時, DbContext API與生成的上下文的API不同。 此外,與DbContext相比,生成上下文的可能性受到限制。 客戶端上下文是構建OData查詢的輔助工具,它並不完美。 我不認為您可以移植每個擴展方法而無需重新實現(如果有可能的話)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM