2010-12-18 20 views
4

轉向poco並想知道在EF4中使用poco時是否有人寫了一個模板來生成存儲過程代碼?使用poco.Has生成存儲過程代碼的T4模板有人做到了嗎?

我不是指SQL代碼,我的意思是與Sql服務器交談的實際C#代碼。

這將是太棒了!

任何建議或鏈接將是美好的

+0

提供一些代碼,我們就可以看到你想有......我到底是什麼我已經做了一些與T4集成的SP,但在BLToolkit上。 http://erraticdev.blogspot.com/2010/11/t4-template-to-generate-bltoolkit.html – 2010-12-18 21:02:26

+0

你爲什麼要生成它?這是一個班輪:'Context.ExecuteFunction (「YourStoreContainer.YourSPName」)' – RPM1984 2010-12-18 23:55:56

+0

感謝您的回覆。@ RPM1984如果您有參數,例如輸出或具有15個參數的proc,那麼我們必須創建它們。 Iam錯過了顯而易見的事情。關於todo一些閱讀。昨天我開始學習poco。@羅伯特沒有把代碼當作我,雖然它是一個通用的東西。你有10個過程有些插入一些是更新等,並希望生成代碼.TBH我不太瞭解poco.Apologies如果解釋不好 – user9969 2010-12-19 07:42:56

回答

0

嘗試EF的數據庫類SqlQuery

public class SpecificationAdHocQuery<T> : ISpecificationAdHocQuery<T> where T : class 
{ 
    protected string Sql; 
    protected object[] Parameters; 

    protected SpecificationAdHocQuery() 
    { 
    } 

    public SpecificationAdHocQuery(string sql, params object[] parameters) 
    { 
     Sql = sql; 
     Parameters = parameters; 
    } 

    public T ExecuteAdHocQueryReturnsEntity(Database database) 
    { 
     return database == null ? default(T) : database.SqlQuery<T>(Sql, Parameters).FirstOrDefault(); 
    } 

    public IQueryable<T> ExecuteAdHocQueryReturnsEntities(Database database) 
    { 
     return database == null ? default(IQueryable<T>) : database.SqlQuery<T>(Sql, Parameters).AsQueryable(); 
    }