2016-01-14 74 views
0

我正在使用資源文件爲我的DAL組織自定義SQL。對於一個簡單的例子,我的倉庫類(使用小巧精緻的)的樣子:如何預覽Visual Studio 2015中的資源文件內容?

public class FooRepository : IFooRepository { 
    public Foo GetById(int id) { 
     using (var con = await GetConnection()) { 
      var foo = (await con.QueryAsync<Foo>(
       Sql.Foos.GetById, 
       new { FooID = id } 
      )).SingleOrDefault(); 

      return foo; 
     } 
    } 
} 

在這種情況下,Sql.Foos.GetById是一個資源文件的引用,其內容是純粹的SQL,如:

SELECT * FROM Foo WHERE FooID = @FooID; 

但是,似乎並沒有簡單的方法來預覽查詢的內容。自動生成的資源摘要泄漏了前幾行(這就是簡單查詢所需的所有內容),但不會在資源發生更改時進行更新,對於具有複雜查詢的較大文件,這無助於說最小。

有沒有更好的方法來預覽我的SQL資源文件的內容(即使它涉及以不同方式存儲我的查詢)?我唯一的規定是:

  1. 我想避免與我的C#混合我的SQL,如果可能的話。
  2. 我需要能夠編寫高度專業化的查詢,所以ORM不是答案。
  3. 不希望使用存儲過程(或者至少不要侷限於它們)。

回答

0

您應該從解決方案資源管理器中打開ResourceFileName.Designer.cs

enter image description here

在那裏你會找到所有你輸入sql語句get方法有你也可以手動設置摘要。

+0

我不認爲這是一個合理的工作流程。我不應該在兩個地方編寫相同的SQL,即使我這樣做了,對於更復雜的查詢,VS提供的工具提示缺少格式並被截斷。 – Dave

+0

那麼你可以添加一個描述性的消息,而不是整個查詢。 'SELECT * FROM Foo WHERE FooID = @FooID;'可以是「獲取具有特定ID的所有foos」。 也是一個很好的名稱爲SQL文件可以給你一個很大的線索,它實際上是什麼 –

+0

也不幸的是沒有幫助。 「獲取所有特定ID的foos」是我正在實施的方法。我想快速訪問實際的SQL資源,而無需挖掘資源文件/文件結構。 – Dave

相關問題