asp.net web api c# 接口数据提供者
asp.net web api c# interface dataprovider
请查看代码,我在将接口调用到dataprovider时发现以下错误
错误行::: public class UserDataProvider : IUserDataProvider
错误文本::: 'UserDataProvider' 没有实现接口成员 'IUserDataProvider.gettabs()'
我会感谢你
Web API c# 代码
接口代码:
using System.Collections.Generic;
using System.Threading.Tasks;
using WebAPIceoTransaction.Models;
namespace WebAPIceoTransaction.DataProvider
{
public interface IUserDataProvider
{
Task<IEnumerable<TabMain>> Gettabs();
Task<TabMain> Gettab(int fid);
Task Addtab(TabMain Tab);
Task Updatetab(TabMain Tab);
Task DeleteTab(int fid);
}
}
数据提供者代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Dapper;
using Microsoft.EntityFrameworkCore;
using System.Data;
using System.Data.SqlClient;
using WebAPIceoTransaction.Models;
namespace WebAPIceoTransaction.DataProvider
{
public class UserDataProvider : IUserDataProvider
{
private readonly string connectionString = "Server=******;Database=****;Trusted_Connection=True;";
private SqlConnection sqlConnection;
public async Task AddTab(TabMain tabmain)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@FName", tabmain.FName);
dynamicParameters.Add("@FCompany", tabmain.FCompany);
dynamicParameters.Add("@FDate", tabmain.FDate);
dynamicParameters.Add("@FAmount", tabmain.FAmount);
dynamicParameters.Add("@FPaid", tabmain.FPaid);
dynamicParameters.Add("@FTransferType", tabmain.FTransferType);
dynamicParameters.Add("@FChequeNo", tabmain.FChequeNo);
dynamicParameters.Add("@FBank", tabmain.FBank);
dynamicParameters.Add("@FAccountNo", tabmain.FAccountNo);
dynamicParameters.Add("@Purpose", tabmain.Purpose);
await sqlConnection.ExecuteAsync(
"spAddTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task DeleteTab(int fid)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@Fid", fid);
await sqlConnection.ExecuteAsync(
"spDeleteUser",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task<TabMain> GetTab(int fid)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@fid", fid);
return await sqlConnection.QuerySingleOrDefaultAsync<TabMain>(
"spGetTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task<IEnumerable<TabMain>> GetTabs()
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
return await sqlConnection.QueryAsync<TabMain>(
"spGetTabs",
null,
commandType: CommandType.StoredProcedure);
}
}
public async Task UpdateTab(TabMain tabmain)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@FName", tabmain.FName);
dynamicParameters.Add("@FCompany", tabmain.FCompany);
dynamicParameters.Add("@FDate", tabmain.FDate);
dynamicParameters.Add("@FAmount", tabmain.FAmount);
dynamicParameters.Add("@FPaid", tabmain.FPaid);
dynamicParameters.Add("@FTransferType", tabmain.FTransferType);
dynamicParameters.Add("@FChequeNo", tabmain.FChequeNo);
dynamicParameters.Add("@FBank", tabmain.FBank);
dynamicParameters.Add("@FAccountNo", tabmain.FAccountNo);
dynamicParameters.Add("@Purpose", tabmain.Purpose);
await sqlConnection.ExecuteAsync(
"spUpdateTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
}
}
在您的界面中,您将其定义为
Task<IEnumerable<TabMain>> Gettabs();
但你是这样实现的
public async Task<IEnumerable<TabMain>> GetTabs()
C# 是一种区分大小写的语言,因此您需要更改实现方法名称或接口方法名称。我会将接口方法名称更改为 GetTabs
以符合标准命名约定
请查看代码,我在将接口调用到dataprovider时发现以下错误
错误行::: public class UserDataProvider : IUserDataProvider
错误文本::: 'UserDataProvider' 没有实现接口成员 'IUserDataProvider.gettabs()'
我会感谢你
Web API c# 代码
接口代码:
using System.Collections.Generic;
using System.Threading.Tasks;
using WebAPIceoTransaction.Models;
namespace WebAPIceoTransaction.DataProvider
{
public interface IUserDataProvider
{
Task<IEnumerable<TabMain>> Gettabs();
Task<TabMain> Gettab(int fid);
Task Addtab(TabMain Tab);
Task Updatetab(TabMain Tab);
Task DeleteTab(int fid);
}
}
数据提供者代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Dapper;
using Microsoft.EntityFrameworkCore;
using System.Data;
using System.Data.SqlClient;
using WebAPIceoTransaction.Models;
namespace WebAPIceoTransaction.DataProvider
{
public class UserDataProvider : IUserDataProvider
{
private readonly string connectionString = "Server=******;Database=****;Trusted_Connection=True;";
private SqlConnection sqlConnection;
public async Task AddTab(TabMain tabmain)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@FName", tabmain.FName);
dynamicParameters.Add("@FCompany", tabmain.FCompany);
dynamicParameters.Add("@FDate", tabmain.FDate);
dynamicParameters.Add("@FAmount", tabmain.FAmount);
dynamicParameters.Add("@FPaid", tabmain.FPaid);
dynamicParameters.Add("@FTransferType", tabmain.FTransferType);
dynamicParameters.Add("@FChequeNo", tabmain.FChequeNo);
dynamicParameters.Add("@FBank", tabmain.FBank);
dynamicParameters.Add("@FAccountNo", tabmain.FAccountNo);
dynamicParameters.Add("@Purpose", tabmain.Purpose);
await sqlConnection.ExecuteAsync(
"spAddTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task DeleteTab(int fid)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@Fid", fid);
await sqlConnection.ExecuteAsync(
"spDeleteUser",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task<TabMain> GetTab(int fid)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@fid", fid);
return await sqlConnection.QuerySingleOrDefaultAsync<TabMain>(
"spGetTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
public async Task<IEnumerable<TabMain>> GetTabs()
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
return await sqlConnection.QueryAsync<TabMain>(
"spGetTabs",
null,
commandType: CommandType.StoredProcedure);
}
}
public async Task UpdateTab(TabMain tabmain)
{
using (var sqlConnection = new SqlConnection(connectionString))
{
await sqlConnection.OpenAsync();
var dynamicParameters = new DynamicParameters();
dynamicParameters.Add("@FName", tabmain.FName);
dynamicParameters.Add("@FCompany", tabmain.FCompany);
dynamicParameters.Add("@FDate", tabmain.FDate);
dynamicParameters.Add("@FAmount", tabmain.FAmount);
dynamicParameters.Add("@FPaid", tabmain.FPaid);
dynamicParameters.Add("@FTransferType", tabmain.FTransferType);
dynamicParameters.Add("@FChequeNo", tabmain.FChequeNo);
dynamicParameters.Add("@FBank", tabmain.FBank);
dynamicParameters.Add("@FAccountNo", tabmain.FAccountNo);
dynamicParameters.Add("@Purpose", tabmain.Purpose);
await sqlConnection.ExecuteAsync(
"spUpdateTab",
dynamicParameters,
commandType: CommandType.StoredProcedure);
}
}
}
}
在您的界面中,您将其定义为
Task<IEnumerable<TabMain>> Gettabs();
但你是这样实现的
public async Task<IEnumerable<TabMain>> GetTabs()
C# 是一种区分大小写的语言,因此您需要更改实现方法名称或接口方法名称。我会将接口方法名称更改为 GetTabs
以符合标准命名约定