【发布时间】:2020-04-29 18:27:55
【问题描述】:
我正在使用 C# 在 Web API 中编写聊天应用程序,使用 SQL Server 数据库在 VS 代码中使用 ASP.NET。连接正常,我将数据库写入.cs 文件并添加EF Migration。也许我对SqlCommand 有疑问。
代码如下:
public async Task SendMessage(string user, string message)
{
string connn;
connn = "Server=DESKTOP-U7SBTFN;Database=BCchat;Uid=sa;Pwd=123456789;";
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(connn);
try
{
Console.WriteLine("Connecting to MySql...");
con.Open();
Console.WriteLine("Connection Open!");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("insert into Messages(Username, Message) values ('"+user+"','"+message+"')", con);
}
catch (Exception exc)
{
Console.WriteLine(exc.ToString());
}
con.Close();
Console.WriteLine("Done!");
Console.WriteLine($"user={user}, message={message}");
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
这是 Messages.cs 和 DBContext.cs 的代码:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace probagetrequest.Models
{
[Table("Messages")]
public class Messages
{
[Key]
public int Id { get; set; }
public string Username { get; set; }
public string Message { get; set; }
}
}
using System;
using Microsoft.EntityFrameworkCore;
namespace probagetrequest.Models
{
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
{
}
public DbSet<Messages> Messagees { get; set; }
public DbSet<Account> Accounts { get; set; }
}
}
【问题讨论】:
-
您到底想达到什么目的?因为您同时使用 SQL 命令和实体框架。我不太确定你想要什么工作。
-
@Josjr87 请查看this 指南,了解如何询问 StackOverflow 问题。
-
@szaszagado 应该检查一下 ;-)
-
对不起,我正在学习编程,我对数据库有点困惑。我想将用户和消息存储在数据库中。在我在 MongoDB 中制作它之前,它可以工作,但现在我需要更改为 MSSQL。
标签: c# asp.net sql-server database visual-studio-code