I'm trying to write a really simple CRUD api using sql server but NOT USING EF.
my data class looks like this
public class DataClass : ICommanderRepo
{
protected string _connectionString { get; set; }
public DataClass(string connectionString)
{
_connectionString = connectionString;
}
public IEnumerable<Command> GetAppCommands()
{
var commands = new List<Command>();
using (SqlConnection con = new SqlConnection(_connectionString))
{
using(SqlCommand cmd = new SqlCommand("spR_GetAllCommands",con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
if(reader.HasRows)
{
while(reader.Read())
{
commands.Add(
new Command { Id = Convert.ToInt32(reader[0].ToString()), HowTo = reader[1].ToString(), Line = reader[2].ToString(), Platform = reader[3].ToString() }
);
}
}
}
}
return commands;
}
}
which I think will work fine. However, I'm doing something wrong when I set up the service in my startup.cs
services.AddTransient<ICommanderRepo, DataClass>(
opt => opt.UseSqlServer(Configuration.GetConnectionString("LocalhostConnection"))
);
my error is "IServiceProvider does not contain a definition for UseSqlServer"