0
 public static CustomizeCourseCompletionWithModuleList GetCustomizeCourseCompletionWithModuleList()
{
    var cmd = new StoredProcedure
    {
        CommandText = "CustomizeCourseCompletionWithModuleSelectById",
        CommandType = System.Data.CommandType.StoredProcedure
    };
    cmd.Parameters.Add("@ID", DBNull.Value);
    return DataPortal.Fetch<CustomizeCourseCompletionWithModuleList>(cmd);
}

最后我想返回DataTable而不是返回DataPortal,我该怎么做?

CustomizeCourseCompletionWwithModuleList 类:

public class CustomizeCourseCompletionWithModuleList : BusinessListBase<CustomizeCourseCompletionWithModule>
{
    #region  Business Methods

    public CustomizeCourseCompletionWithModule GetItem(int childId)
    {
        return this.FirstOrDefault(child => child.Id == childId);
    }

    public override void Remove(int childId)
    {
        foreach (var child in this.Where(child => child.Id == childId))
        {
            RemoveChild(child);
            break;
        }
    }

    public bool Contains(int childId)
    {
        return this.Any(child => child.Id == childId);
    }

    public bool ContainsDeleted(int childId)
    {
        return DeletedList.Any(child => child.Id == childId && child.IsDeleted);
    }

    #endregion

存储过程:

public class StoredProcedure : ICloneable
{
    private Parameters _parameters = new Parameters();
    private string _procName;

    public StoredProcedure(string name)
    {
        _procName = name;
        CommandType = System.Data.CommandType.StoredProcedure;
    }

    public StoredProcedure()
    {
        CommandType = System.Data.CommandType.StoredProcedure;
    }

    [DataMember]
    public String CommandText
    {
        get { return _procName; }
        set { _procName = value; }
    }

    [DataMember]
    public System.Data.CommandType CommandType { get; set; }
    [DataMember]
    public string Name
    {
        get { return _procName; }
        set { _procName = value; }
    }
    [DataMember]
    public Parameters Parameters
    {
        get { return _parameters; }
        set { _parameters = value; }
    }


    #region ICloneable Members

    object ICloneable.Clone()
    {
        return GetClone();
    }

    [EditorBrowsable(EditorBrowsableState.Advanced)]
    protected virtual object GetClone()
    {
        return ObjectCloner.Clone(this);
    }

    #endregion
}

如果您需要任何其他信息,请询问,以便您给我一个正确的答案。提前致谢。

4

1 回答 1

0

我不确定这是否有帮助,但我进行了一些挖掘,发现这篇文章讨论了使用CLSA 的 ObjectAdapter将列表转换为数据集。Csla.Data.ObjectAdapter

//Get the a musicians BusinessBaseList
MusiciansList musicians = MusiciansList.GetList();

//Use the ObjectAdapter to transform the list into
//a DataSet
ObjectAdapter adapter = new ObjectAdapter();
DataSet ds = new DataSet();
adapter.Fill(ds, musicians);

//Bind the DataSet to the musician’s 
//DropDownList
ddMusicians.DataSource = ds.Tables[0];
ddMusicians.DataTextField = "LastName";
ddMusicians.DataValueField = "Id";
ddMusicians.DataBind();
于 2013-10-01T21:43:39.593 回答