0

我正在学习使用 dapper。

我这里有这门课:

public class Member_Collection : ObservableCollection<Member>
{
}

我的 DAL 类中有这个方法:

    public static Member_Collection SqlSelectAll(string connString)
    {
        Member_Collection  entityToReturn = null;

        using (var conn = new SqlConnection(connString))
        {
            var entityList = conn.Query("Select * From Member");

            entityToReturn = new Member_Collection();

            foreach (var item in entityList)
            {
                entityToReturn.Add(item);
            }
        }

        return entityToReturn;
    }

这让查询返回 ObservableCollection?

4

1 回答 1

2

让它“返回”特定的集合类型将是添加自定义扩展方法的情况。如果您只想要通用的可观察集合类型,那么:

public static ObservableCollection<T> ToObservable<T>(
    this IEnumerable<T> source)
{
    return new ObservableCollection<T>(source);
}

请注意,返回特定子类更为复杂。使用泛型需要调用者指定两个泛型参数,这很麻烦。您可能需要每个项目类型的扩展方法 - 再次,非常难看

于 2013-10-27T07:44:52.480 回答