У меня есть класс Player, у которого есть Id, Имя пользователя и Ранг:
class Player
{
public int Id { get; set; }
public string Username { get; set; }
public Rank Rank { get; set; }
}
Я хочу вставить новый проигрыватель в базу данных SQLite, для этого я использую Dapper.
При нажатии кнопки формы:
Player newPlayer = new Player();
Rank newRank = new Rank();
newPlayer.Username = txtUsername.Text;
newPlayer.Rank = newRank;
if (newPlayer.Username != null && newPlayer.Username != String.Empty)
{
SQLiteDataAccess.SavePlayer(newPlayer);
Close();
}
Мой C Метод RUD в «SQLiteDataAccess»
public static void SavePlayer(Player player)
{
using (IDbConnection connection = new SQLiteConnection(LoadConnectionString()))
{
connection.Execute("insert into Players (Username, Rank) values (@Username, @Rank)",
player);
}
}
Мой класс "Rank" состоит из строкового имени и нескольких целых чисел. У меня есть конструктор, который устанавливает все значения по умолчанию "-" и 0.
При использовании этого пользовательского типа «Ранг» в качестве параметра возникает проблема:
System.NotSupportedException: 'Ранг члена типа Prototype1.Rank
нельзя использовать в качестве значения параметра '
Есть ли способ обойти это или другой способ без использования Dapper?