Skip to content

Instantly share code, notes, and snippets.

@Zonciu
Created October 30, 2020 08:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zonciu/9fee7deb11d42fc7cc1d97d6507951db to your computer and use it in GitHub Desktop.
Save Zonciu/9fee7deb11d42fc7cc1d97d6507951db to your computer and use it in GitHub Desktop.
Get Grain PrimaryKey
public static class GrainExtensions
{
/// <summary>
/// Get string Id
/// </summary>
/// <param name="grain"></param>
/// <returns></returns>
public static string GetId(this IGrainWithStringKey grain) => grain.GetPrimaryKeyString();
/// <summary>
/// Get long Id
/// </summary>
/// <param name="grain"></param>
/// <returns></returns>
public static long GetId(this IGrainWithIntegerKey grain) => grain.GetPrimaryKeyLong();
/// <summary>
/// Get Guid Id
/// </summary>
/// <param name="grain"></param>
/// <returns></returns>
public static Guid GetId(this IGrainWithGuidKey grain) => grain.GetPrimaryKey();
/// <summary>
/// Get Guid + string Id
/// </summary>
/// <param name="grain"></param>
/// <param name="keyExtension"></param>
/// <returns></returns>
public static Guid GetId(this IGrainWithGuidCompoundKey grain, out string keyExtension) => grain.GetPrimaryKey(out keyExtension);
/// <summary>
/// Get long + string Id
/// </summary>
/// <param name="grain"></param>
/// <param name="keyExtension"></param>
/// <returns></returns>
public static long GetId(this IGrainWithIntegerCompoundKey grain, out string keyExtension) => grain.GetPrimaryKeyLong(out keyExtension);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment