Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Dapper Update
#21
Нет , просто я хотел сначала написать для одного оружия , чтобы понять как использовать этот метод.
Но думаю переписать все под CRUD
Ответ
#22
Ну раз попробовать, то сойдёт. Smile
Но всё же попробуй Entity Framework.
Ответ
#23
А он лучше или просто проще для освоения ?
Ответ
#24
Актуальнее. Я перешёл с Dapper на EF из-за связей "через пятую точку".

К примеру EF и учётная запись с персонажами:

[SRC="csharp"][Table("accounts")]
public class Account : BaseEntity
{
[Key]
public long Id { get; protected set; }
public string Login { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string Nickname { get; set; }
public virtual ICollection<Character> Characters { get; set; } = new HashSet<Character>();

// ...
}
[/SRC]


[SRC="csharp"][Table("characters")]
public class Character : CharacterBase
{
[Key]
public int Id { get; protected set; }
public long AccountId { get; set; }
public int CharacterBaseId { get; set; }
public CharacterClass Class { get; set; }
public int PlayedDuration { get; set; }
public virtual Account Account { get; set; }

// ...
}
[/SRC]


И в контексте определяем связь:

[SRC="csharp"]protected override void OnModelCreating(DbModelBuilder builder)
{
builder.Entity<Character>()
.HasRequired<Account>(x => x.Account)
.WithMany(x => x.Characters)
.HasForeignKey(x => x.AccountId);

// ...

base.OnModelCreating(builder);
}
[/SRC]
Ответ
#25
То есть от Cached'a можно избавляться?
Ответ
#26
А для чего тебе ранее требовался "Cached"?
WCF и ORM так-то не одно и тоже.
Ответ
#27
[SRC="csharp"]
public Character GetUpdate(int weapon_primary, int id)
{
try
{
using (var connection = Factory.conn)
{
string updateQuery = @"UPDATE `character` SET `WEAPON_PRIMARY` = @weapon_primary WHERE `ID` IN(@id)";
var update = connection.Execute(updateQuery, new { WEAPON_PRIMARY = weapon_primary, ID = id });
}
}
catch (Exception ex)
{
Log.Error(ex.ToString());
}
return null;
}
[/SRC]

[SRC="csharp"]
[ServiceContract]
public interface ICharacterDao
{
[OperationContract]
Character GetCharacter(int accountId);
[OperationContract]
Character GetUpdate(int weapon_primary, int id);
}
[/SRC]

PROTOCOL_CHAR_CHANGE_EQUIP_REQ

Как задействовать в пакете чтобы он меня значение не только в игре но и в бд.
Ответ
#28
Для чего при смене эквипа создаётся новый экземпляр объекта Character? Ведь эквип меняется именно для выбранных персонажей.

[SRC="csharp"]int Unk = ReadShort();[/SRC]


Просто нужно разобраться с данными которые приходят от клиента. Например в этом месте количество затронутых персонажей (1 байт). А второй байт это индекс персонажа.
Ответ
#29
PROGRAMMATOR Написал:Для чего при смене эквипа создаётся новый экземпляр объекта Character? Ведь эквип меняется именно для выбранных персонажей.

[SRC="csharp"]int Unk = ReadShort();[/SRC]


Просто нужно разобраться с данными которые приходят от клиента. Например в этом месте количество затронутых персонажей (1 байт). А второй байт это индекс персонажа.

А он и не создает, возвращает нулл ведь :Ъ Он наверное не понимает что нужно в интерфейсе объявить войд, непонятно зачем там модель чара)
upd: увидел, в самом пакете создает, ТС-у: var character = Client.Character(укажи где у тебя чар размещен, наобум ткнул), т.е создай ссылку на уже существующего чара.
Ответ
#30
Да я вообще не понимаю как работать с бд на сервере.

Может хотя бы примерно кто то показать как реализовать например чтобы обновлялся weapon_primary.
Мне бы хотя бы сам принцип понять , а то догнать не могу.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Update Server to v42 TomCodder 5 3,958 03-22-2018, 07:55 AM
Последний пост: TomCodder
  DB Update Code Exile03 2 1,683 02-06-2018, 02:42 AM
Последний пост: Zubastic
  server update fulo 0 1,214 12-12-2017, 04:57 PM
Последний пост: fulo
  update client of server TomCodder 4 2,596 08-21-2017, 03:06 AM
Последний пост: TomCodder
  Help Me ! (Update Server Client 2016) yGGhz 1 1,683 10-07-2016, 04:01 PM
Последний пост: Awiion

Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)