Re: Dapper Update
Нет , просто я хотел сначала написать для одного оружия , чтобы понять как использовать этот метод.
Но думаю переписать все под CRUD |
Re: Dapper Update
Ну раз попробовать, то сойдёт. :)
Но всё же попробуй Entity Framework. |
Re: Dapper Update
А он лучше или просто проще для освоения ?
|
Re: Dapper Update
Актуальнее. Я перешёл с Dapper на EF из-за связей "через пятую точку".
К примеру EF и учётная запись с персонажами: [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>(); // ... } [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; } // ... } И в контексте определяем связь: 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); } |
Re: Dapper Update
То есть от Cached'a можно избавляться?
|
Re: Dapper Update
А для чего тебе ранее требовался "Cached"?
WCF и ORM так-то не одно и тоже. |
Re: Dapper Update
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; } [ServiceContract] public interface ICharacterDao { [OperationContract] Character GetCharacter(int accountId); [OperationContract] Character GetUpdate(int weapon_primary, int id); } PROTOCOL_CHAR_CHANGE_EQUIP_REQ:Развернуть ↓Как задействовать в пакете чтобы он меня значение не только в игре но и в бд. |
Re: Dapper Update
Для чего при смене эквипа создаётся новый экземпляр объекта Character? Ведь эквип меняется именно для выбранных персонажей.
int Unk = ReadShort(); Просто нужно разобраться с данными которые приходят от клиента. Например в этом месте количество затронутых персонажей (1 байт). А второй байт это индекс персонажа. |
Re: Dapper Update
Цитата:
upd: увидел, в самом пакете создает, ТС-у: var character = Client.Character(укажи где у тебя чар размещен, наобум ткнул), т.е создай ссылку на уже существующего чара. |
Re: Dapper Update
Да я вообще не понимаю как работать с бд на сервере.
Может хотя бы примерно кто то показать как реализовать например чтобы обновлялся weapon_primary. Мне бы хотя бы сам принцип понять , а то догнать не могу. |
Текущее время: 03:38. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot