using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Common;
using System.ComponentModel;

using Befri.Query;
using Befri.Data.SqlClient;
using Befri.Goldhoo.Models;

namespace Befri.Goldhoo.Services
{
    /// <summary>
    /// ��    ��: <%= Table.Text %>�����ӿ�
    /// ������Ա: 
    /// ��������: <%= DateTime.Today.ToLongDateString() %>
    /// </summary>
    public interface I<%= Table.AliasName %>Service : IDataService
    {
        /// <summary>
        /// ���������ѯ������<%= Table.Text %>ʵ���б�
        /// </summary>
        /// <param name="param">��ѯ����</param>
        /// <returns><%= Table.Text %>ʵ���б�</returns>
        IList<<%= Table.AliasName %>> Get<%= Table.AliasName %>s(QueryParameter param);
       
        /// <summary>
        /// ����<%= Table.Text %>��¼
        /// </summary>
        /// <param name="<%= Table.aliasName %>"><%= Table.Text %>����</param>
        /// <returns></returns>
        int Create<%= Table.AliasName %>(<%= Table.AliasName %> <%= Table.aliasName %>);
                  
        /// <summary>
        /// ����<%= Table.Text %>��¼
        /// </summary>
        /// <param name="<%= Table.aliasName %>"><%= Table.Text %>����</param>
        /// <returns>��Ӱ��ļ�¼��</returns>
        int Update<%= Table.AliasName %>(<%= Table.AliasName %> <%= Table.aliasName %>);
        
        /// <summary>
        /// ɾ��<%= Table.Text %>��¼
        /// </summary>
        <% foreach(Arista.Data.ColumnSchema column in Table.Keys){%>/// <param name="<%= column.aliasName %>"><%= column.Text %></param> <% } %>
        /// <returns>��Ӱ��ļ�¼��</returns>
        int Delete<%= Table.AliasName %>(<%= KeyParamsText %>);
          
    }
}